📄 pgqos.c
字号:
/*
* Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
* All rights reserved.
*
* This software is copyrighted by and is the sole property of
* VIA Networking Technologies, Inc. This software may only be used
* in accordance with the corresponding license agreement. Any unauthorized
* use, duplication, transmission, distribution, or disclosure of this
* software is expressly forbidden.
*
* This software is provided by VIA Networking Technologies, Inc. "as is"
* and any express or implied warranties, including, but not limited to, the
* implied warranties of merchantability and fitness for a particular purpose
* are disclaimed. In no event shall VIA Networking Technologies, Inc.
* be liable for any direct, indirect, incidental, special, exemplary, or
* consequential damages.
*
*
* File: qosdef.c
*
* Purpose: QoS module UI definitions
*
* Author: Jenda Jao
*
* Date: Jan 08, 2002
*
* Functions:
*
* Revision History:
*
*/
#include "ttyio.h"
#include "engine.h"
#include "eng_act.h"
#include "allpages.h"
#include "pigencfg.h"
#include "cfgstr.h"
#include "pgqos.h"
#include "gen_act.h"
#include "pimsg.h"
#include "str.h"
#include "eng_io.h"
#include "piqos.h"
#include "piportmp.h"
#define g_byQosMode (g_pSQosPageCfg->byQosMode)
DIRECT_MEMTYPE_CODE SFixLabel aSFixLabelQos[] = {
{{ 2,32}, g_strQosCfg, 0},
{{ 3,32}, "=", 17},
{{ 5,20}, "QoS Mode :", 0},
{{24, 2}, g_strHelpMsg, 0},
{{ 7,20}, "Static Port Ingress Priority :", 0},
{{ 8,20}, "-", 42},
#ifndef __ASIC_VT6524
{{19,20}, "802.1p Priority [7-0] :", 0},
#else
{{18,20}, "802.1p Priority [7-0] :", 0},
#endif
};
// assign item
DIRECT_MEMTYPE_CODE SItemListbox aSIListboxQos[] = {
{&g_byQosMode, 0, 7, 0, g_aszQosMode, 5},
#ifndef __ASIC_VT6524
{g_pSQosPageCfg->abyStaticPrior, 0, 7, 8, g_aszStaticPortPriorCfg, 3},
#else
{g_pSQosPageCfg, 6, 7, sizeof(SPort_QosCfg)*8, g_aszStaticPortPriorCfg, 3},
#endif
{&g_pSQosPageCfg->by8021pMap, 7, 7, 0, g_aszLoHiCfg, 2},
{&g_pSQosPageCfg->by8021pMap, 6, 6, 0, g_aszLoHiCfg, 2},
{&g_pSQosPageCfg->by8021pMap, 5, 5, 0, g_aszLoHiCfg, 2},
{&g_pSQosPageCfg->by8021pMap, 4, 4, 0, g_aszLoHiCfg, 2},
{&g_pSQosPageCfg->by8021pMap, 3, 3, 0, g_aszLoHiCfg, 2},
{&g_pSQosPageCfg->by8021pMap, 2, 2, 0, g_aszLoHiCfg, 2},
{&g_pSQosPageCfg->by8021pMap, 1, 1, 0, g_aszLoHiCfg, 2},
{&g_pSQosPageCfg->by8021pMap, 0, 0, 0, g_aszLoHiCfg, 2},
};
// all items
DIRECT_MEMTYPE_CODE SVarLabel aSVarLabelQos[] = {
{{9,20}, &g_SIListboxLogPortName, "", ITEM_LISTBOX, REPEAT_TYPE_RECT_SINGLE, LINK_TYPE_NONE, ROW_NUM_IN_3_FIELD, 15}
};
DIRECT_MEMTYPE_CODE SItem aSItemQos[] = {
{{ 5,31}, aSIListboxQos, g_strChgModeMsg, ITEM_LISTBOX, REPEAT_TYPE_NONE, LINK_TYPE_LISTBOX},
{{ 9,28}, aSIListboxQos+1, g_strQosCfgMsg, ITEM_LISTBOX, REPEAT_TYPE_RECT_SINGLE, LINK_TYPE_NONE, ROW_NUM_IN_3_FIELD, 15},
#ifndef __ASIC_VT6524
{{20,20}, aSIListboxQos+2, "", ITEM_LISTBOX, REPEAT_TYPE_NONE, LINK_TYPE_NONE},
{{20,20+5}, aSIListboxQos+3, "", ITEM_LISTBOX, REPEAT_TYPE_NONE, LINK_TYPE_NONE},
{{20,20+10}, aSIListboxQos+4, "", ITEM_LISTBOX, REPEAT_TYPE_NONE, LINK_TYPE_NONE},
{{20,20+15}, aSIListboxQos+5, "", ITEM_LISTBOX, REPEAT_TYPE_NONE, LINK_TYPE_NONE},
{{20,20+20}, aSIListboxQos+6, "", ITEM_LISTBOX, REPEAT_TYPE_NONE, LINK_TYPE_NONE},
{{20,20+25}, aSIListboxQos+7, "", ITEM_LISTBOX, REPEAT_TYPE_NONE, LINK_TYPE_NONE},
{{20,20+30}, aSIListboxQos+8, "", ITEM_LISTBOX, REPEAT_TYPE_NONE, LINK_TYPE_NONE},
{{20,20+35}, aSIListboxQos+9, g_strQosCfgMsg, ITEM_LISTBOX, REPEAT_TYPE_NONE, LINK_TYPE_NONE},
#else
{{19,20}, aSIListboxQos+2, "", ITEM_LISTBOX, REPEAT_TYPE_NONE, LINK_TYPE_NONE},
{{19,20+5}, aSIListboxQos+3, "", ITEM_LISTBOX, REPEAT_TYPE_NONE, LINK_TYPE_NONE},
{{19,20+10}, aSIListboxQos+4, "", ITEM_LISTBOX, REPEAT_TYPE_NONE, LINK_TYPE_NONE},
{{19,20+15}, aSIListboxQos+5, "", ITEM_LISTBOX, REPEAT_TYPE_NONE, LINK_TYPE_NONE},
{{19,20+20}, aSIListboxQos+6, "", ITEM_LISTBOX, REPEAT_TYPE_NONE, LINK_TYPE_NONE},
{{19,20+25}, aSIListboxQos+7, "", ITEM_LISTBOX, REPEAT_TYPE_NONE, LINK_TYPE_NONE},
{{19,20+30}, aSIListboxQos+8, "", ITEM_LISTBOX, REPEAT_TYPE_NONE, LINK_TYPE_NONE},
{{19,20+35}, aSIListboxQos+9, g_strQosCfgMsg, ITEM_LISTBOX, REPEAT_TYPE_NONE, LINK_TYPE_NONE},
#endif
};
// action
DIRECT_MEMTYPE_CODE SActItem aSActionQos[] = {
{{22, 12}, g_strActionQuit, PAACT_bQuit},
{{22, 22}, g_strActionEdit, PAQOS_bEditQosCfg},
{{22, 32}, g_strActionSave, PAQOS_bSaveQosCfg},
};
// assign page
DIRECT_MEMTYPE_CODE SPage g_SPageQosEbl = {
aSFixLabelQos, 7,
aSVarLabelQos, 1,
aSItemQos, 10,
aSActionQos, 3,
PAQOS_bLoadQosCfg
};
// assign page
DIRECT_MEMTYPE_CODE SPage g_SPageQosDis = {
aSFixLabelQos, 4,
NULL, 0,
aSItemQos, 1,
aSActionQos, 3,
PAQOS_bLoadQosCfg
};
//////////////////////////////////////////////////////////////////////////
// the array size should be equal to the array size of g_aszQosMode
static BYTE DIRECT_MEMTYPE_CODE s_abyQosPageID[] = {PAGE_QOS_DISABLE, PAGE_QOS_ENABLE, PAGE_QOS_ENABLE, PAGE_QOS_ENABLE, PAGE_QOS_ENABLE};
BOOL PAQOS_bChangeQosPage(void) DIRECT_FUNTYPE_REENT
{
if (g_byCurPageID != s_abyQosPageID[g_byQosMode])
{
g_byCurPageID = s_abyQosPageID[g_byQosMode];
return RELOAD_PAGE;
}
return DONT_RELOAD_PAGE;
}
BOOL PAQOS_bLoadQosCfg(void) DIRECT_FUNTYPE_REENT
{
PIQOS_vInitPage(g_pSQosPageCfg);
g_byTotalLineNum = g_byLogIdNum;
PAQOS_bChangeQosPage();
return DONT_RELOAD_PAGE;
}
BOOL PAQOS_bEditQosCfg(void) DIRECT_FUNTYPE_REENT
{
if (PAACT_bEdit())
return RELOAD_PAGE;
if (PAQOS_bChangeQosPage())
ENGvPrintPage(); // in this page, changing page may not reload config, just re-print page only
return DONT_RELOAD_PAGE;
}
BOOL PAQOS_bSaveQosCfg(void) DIRECT_FUNTYPE_REENT
{
PIMSG_vPutSavingMsg();
PIQOS_vSavePage(g_pSQosPageCfg);
PIMSG_vPutMsgThenPause(OP_OK);
g_bDataDirty = 0;
return DONT_RELOAD_PAGE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -