亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cli_cmdreg.inc

?? 命令行在嵌入式系統的實現
?? INC
?? 第 1 頁 / 共 2 頁
字號:
/************************************************************************
Copyright 200X - 200X+1.

filename     : CLI_Io.h

description  : 本文件提供主機軟件命令行的注冊接口以及注冊過程中所需要
               引用的結構定義,另外也包含執行函數中的參數獲取接口

author       : Woodhead

modification : Woodhead    create              2004-12-07
************************************************************************/

#ifndef _CLI_CMDREG_INC_
#define _CLI_CMDREG_INC_

#define CT_RP_FLAG_NORMAL   0       /*命令是肯定形式*/
#define CT_RP_FLAG_NOFORM   1       /*命令是否定形式*/

/* 參數的屬性位定義 */
#define CT_PRMPROP_NULL        0x00        /* 無屬性   */
#define CT_PRMPROP_NAME        0x01        /* 需要名字 */
#define CT_PRMPROP_MUTEX       0x02        /* 多值互斥 */
#define CT_PRMPROP_INDEX       0x04        /* 索引     */
#define CT_PRMPROP_OPTIONAL    0x08        /* 可選     */

/* 值的屬性位定義,自動注冊不使用,一律為CT_VALPROP_CHECK  */
#define CT_VALPROP_NULL        0x00        /* 無屬性       */
#define CT_VALPROP_OPTIONAL    0x01        /* 可選         */
#define CT_VALPROP_MUTEX       0x02        /* 互斥(多選一) */
#define CT_VALPROP_INDEX       0x04        /* 位索引       */
#define CT_VALPROP_CHECK       0x08        /* 輸入類型檢查 */
#define CT_VALPROP_DEFAULT     0x10        /* 缺省         */

#define CT_MAX_MODE_NAME    48          /* 模式名長度       */
#define CT_MAX_MODE_PROMPT  36          /* 模式提示符的長度 */
#define CT_MAX_MODE_VERB    64          /* 進入某模式命令字長度 */
#define CT_MAX_CMD_FORMAT   1000        /* 定義自動注冊的格式化串長度不能超過256 */
#define CT_MAX_OBJECT_NUM   3           /* 定義一條命令中的最多對象個數 */

#define CT_CMD_FOR_AG_M  0x01                                        /* AG主設備命令 */
#define CT_CMD_FOR_AG_S  0x02                                        /* AG從設備命令 */
#define CT_CMD_FOR_AG_I  0x04                                        /* AG單機板命令 */
#define CT_CMD_FOR_TG    0x10                                        /* TG設備命令   */

#define CT_CMD_FOR_AG_NS  (0x01 | 0x04)                              /* AG主與單機板 */
#define CT_CMD_FOR_AG_ST  (CT_CMD_FOR_AG_M | CT_CMD_FOR_AG_S)        /* AG堆疊設備   */
#define CT_CMD_FOR_AGI_TG (CT_CMD_FOR_AG_I | CT_CMD_FOR_TG)          /* 非堆疊設備   */
#define CT_CMD_FOR_AG     (0x01 | 0x02 | 0x04)                       /* AG設備命令   */
#define CT_CMD_FOR_AGN_TG (CT_CMD_FOR_AG_NS | CT_CMD_FOR_TG)         /* 只有AG從沒有的命令*/
#define CT_CMD_FOR_ALL     0xff                                      /* 通用命令 */

/* 語法分析的當前元素類型定義 */
enum ElemType
{
    OBJECT,
    PARAMETER,
    VALUE
};

/* 自動注冊的內部使用的錯誤碼定義 */
enum AutoReg_ErrNo
{
    TOKEN_GET_ONLYSPACE = 0, /* 只獲取到空格符號 */
    TOKEN_GET_GROUPBEGIN,    /* 參數組開始 */
    TOKEN_GET_MUTEXBEGIN,    /* 互斥組開始 */
    TOKEN_GET_GROUPEND,      /* 參數組結束 */
    TOKEN_GET_MUTEXEND,      /* 互斥組結束 */
    TOKEN_GET_OPTIONBGIN ,   /* 可選組開始 */
    TOKEN_GET_OPTIONEND ,    /* 可選組結束 */
    TOKEN_GET_PROPBEGIN,     /* 參數值屬性開始 */
    TOKEN_GET_PROPEND,       /* 參數值屬性結束 */
    TOKEN_GET_VALBEGIN,      /* 參數值開始 */
    TOKEN_GET_VALEND,        /* 參數值結束 */
    TOKEN_GET_MUTEXLINE,     /* 互斥分隔符 */
    TOKEN_GET_SPACEEND,      /* 空格分隔符 */
    TOKEN_GET_DEFAULT,       /* 缺省分隔符 */
    TOKEN_GET_LASTOBJ,       /* 最后一個對象 */
    TOKEN_GET_CMDNULL        /* 取空 */
};


/* -------------------------------- 宏操作定義 ------------------------------ */

/* 判斷兩個對象是否同名 */
#define CT_IS_SAME_OBJECT(p1,p2) ( strcmp((p1)->szName,(p2)->szName) == 0 )
#define CI_IS_BIG_OBJECT(p1,p2)  ( strcmp((p1)->szName,(p2)->szName) > 0  )


/* -------------------------------- 結構、類描述定義 ------------------------------ */
/* 注意涉及到通信和偏移地址計算的表定義,要求進行pack */

/*------------------------------------*/
/* 【1】參數值的定義開始              */
/*------------------------------------*/
typedef struct CT_VALUETYPE_S
{
    _U8 ucAttrib;    /* 參數值屬性    */
    _U8 ucDataType;  /* 參數值類型    */
    _U8 ucDataLen;   /* 參數值長度(針對字符串而言)*/
    _U8 ucIndex;     /* 保留          */
}CT_VALUETYPE_T;
typedef CT_VALUETYPE_T *CT_VALUETYPE_P;


/* 為關鍵字定義的數據結構  {{*/
typedef struct CT_KEYWORD_S
{
    _S8   *pK;                        /* Pointer to a Keyword String        */
    struct CT_KEYWORD_S *pPrevious;   /* Link Pointer Previous Keyword      */
    struct CT_KEYWORD_S *pNext;       /* Link Pointer Next Keyword          */
}CT_SERIAL_WORD_T,*CT_SERIAL_WORD_P;

typedef struct CT_KEYWORDS_S
{
    _U32   ulNumber;                  /* Number of Keywords of this Value   */
    CT_SERIAL_WORD_P pKeyword;            /* Link Pointer to First Discrete     */
}CT_KEYWORDS_T;
/*                             }}*/

/* 自定義的參數值檢查函數*/
typedef _U32 (*CT_USERCHECK_FUNC_T)(_S8 *szValue,_S8 *szShow, CT_WS_P pWS);
typedef struct CT_VALUE_S
{
    _S8 *szName;                    /* 參數值名           */
    CT_VALUETYPE_T valueType;       /* 參數值類型         */
    CT_KEYWORDS_T keywords;         /* 多選一關鍵字列表   */
    _S32 s32IntFilter[2];           /* 參數數值的上下限   */
    struct CT_VALUE_S *pPrevious;   /* 參數值前驅         */
    struct CT_VALUE_S *pNext;       /* 參數值的后繼       */
    _U32   ulAbsoluteIndex;         /* 絕對位置索引       */
    _S8   *szDefault;               /* 參數值的缺省值     */
    CT_USERCHECK_FUNC_T pCheckFunc; /* 用戶提供的檢查函數 */
}CT_VALUE_T;
typedef CT_VALUE_T *CT_VALUE_P;

/* 參數值鏈表的定義 */
typedef struct CT_VALUELINK_S
{
    _U32 ulNumber;           /* Total number of Values in the Link   */
    CT_VALUE_P pValue;      /* Head Pointer to the Value Link       */
}CT_VALUEGROUP_T;
typedef CT_VALUEGROUP_T *CT_VALUEGROUP_P;

/*用戶自定義參數值類型*/
#define CT_MAX_USERTYPES    ((_U32)CT_DATA_BOTTOM - (_U32)CT_DATA_USER)
typedef _U32 (*CT_TYPECHECK_FUNC_T) (_S8 *szValue,_S8 *szShow,CT_WS_P pWS);
typedef struct  CT_USERTYPE_S
{
    _U8 ucTypeID;                        /* 數據類型     */
    _S8 szTypeName[24];                  /* 數據類型名字 */
    CT_TYPECHECK_FUNC_T pCheckFunc;      /* 檢查函數     */
} CT_USERTYPE_T;
/*------------------------------------*/
/* 【1】參數值的定義結束              */
/*------------------------------------*/




/*------------------------------------*/
/* 【2】參數定義開始                  */
/*------------------------------------*/
typedef struct CT_PARAMTYPE_S
{
    _U8 ucAttrib;     /* Bit Attributes   */
    _S8 reserved1;    /* Reserved         */
    _S8 reserved2;    /* Data Length      */
    _U8 ucIndex;     /* Index of Position*/
}CT_PARAMTYPE_T;
typedef CT_PARAMTYPE_T *CT_PARAMTYPE_P;

typedef struct CT_PARAMETER_S
{
    _S8 *szName;                        /* 參數名            */
    CT_PARAMTYPE_T paramType;           /* 參數類型          */
    _U8 ucAttrib;                       /* 參數屬性          */
    struct CT_PARAMETER_S *subParam;    /* 第一個子參數的指針*/
    struct CT_PARAMETER_S *pPrevious;   /* 參數的前驅        */
    struct CT_PARAMETER_S *pNext;       /* 參數的后繼        */
    struct CT_PARAMETER_S *pParent;     /* 父參數指針        */
    _U32 ulAbsoluteIndex;               /* 絕對索引          */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
东方aⅴ免费观看久久av| 欧美日韩大陆在线| 久久久不卡网国产精品一区| 久久99热这里只有精品| 久久综合色婷婷| 国产91在线观看| 亚洲精品老司机| 欧美精品九九99久久| 久久www免费人成看片高清| 久久久亚洲国产美女国产盗摄| 成人免费视频网站在线观看| 亚洲精品高清在线观看| 日韩欧美一二三区| 成人av综合一区| 亚洲国产精品久久一线不卡| 欧美成人精品二区三区99精品| 国产精品一区二区久激情瑜伽| 亚洲欧洲色图综合| 欧美喷水一区二区| 国产成人亚洲综合a∨婷婷图片| 亚洲精品视频免费观看| 日韩三级.com| 99re8在线精品视频免费播放| 亚洲成人你懂的| 国产欧美精品国产国产专区| 国产99久久久国产精品免费看| 亚洲三级在线看| 欧美一级高清大全免费观看| 成人免费看视频| 日本韩国欧美一区二区三区| 久久综合色天天久久综合图片| av不卡免费电影| 日韩黄色小视频| 亚洲天堂网中文字| 久久综合给合久久狠狠狠97色69| 在线精品亚洲一区二区不卡| 国产大陆亚洲精品国产| 亚洲成人免费视频| 日韩一区在线播放| 欧美成人a视频| 在线观看免费成人| 成人av网站免费观看| 麻豆国产精品一区二区三区| 一区二区三区日韩在线观看| 国产欧美日韩激情| 日韩欧美一二区| 欧美三级韩国三级日本一级| 美女视频黄久久| 亚洲夂夂婷婷色拍ww47| 欧美激情一区二区在线| 欧美成人精品福利| 欧美精品三级在线观看| 国产精品精品国产色婷婷| 成人黄色小视频| 国产精品原创巨作av| 蜜臀av性久久久久蜜臀aⅴ| 亚洲一区av在线| 一区二区三区.www| 中文字幕一区av| 国产精品久久免费看| 久久久久九九视频| 久久久久久久综合色一本| 精品国产一区二区三区不卡| 日韩午夜av一区| 日韩欧美中文字幕精品| 91精品国产免费久久综合| 精品视频在线免费| 欧美三级视频在线观看| 欧美色图激情小说| 欧美日韩精品一区二区三区蜜桃 | 国产精品超碰97尤物18| 国产亚洲欧洲997久久综合 | 欧美国产日本视频| 国产亚洲一区二区三区| 国产偷v国产偷v亚洲高清| 国产拍欧美日韩视频二区| 久久综合九色综合欧美就去吻| 精品成a人在线观看| 精品国产精品网麻豆系列| 精品人在线二区三区| 精品对白一区国产伦| 国产三级一区二区| 国产精品日产欧美久久久久| 亚洲欧洲日韩在线| 一区二区欧美精品| 亚洲成年人网站在线观看| 视频精品一区二区| 日本不卡123| 狠狠狠色丁香婷婷综合激情| 丁香婷婷综合五月| 一本到一区二区三区| 欧美日韩大陆一区二区| 日韩一区二区三区电影在线观看| 久久影院午夜片一区| 国产精品久久久一区麻豆最新章节| 伊人夜夜躁av伊人久久| 日韩精品视频网站| 国产一区不卡精品| 99精品国产99久久久久久白柏| 欧美图区在线视频| 91精品国产欧美一区二区成人| 久久久精品国产免大香伊| 亚洲色图在线播放| 日韩av中文字幕一区二区三区| 国产美女一区二区三区| 一本久久综合亚洲鲁鲁五月天| 91精品欧美久久久久久动漫| 国产欧美一区二区精品婷婷| 一区二区三区国产精华| 日本女人一区二区三区| 成人福利视频网站| 欧美一级xxx| 国产精品久久久久久久久晋中 | 久久久精品中文字幕麻豆发布| 中文字幕一区三区| 日韩欧美一级在线播放| 欧美亚洲高清一区| 久久只精品国产| 夜夜嗨av一区二区三区| 久久99久国产精品黄毛片色诱| 91性感美女视频| 日韩西西人体444www| 玉米视频成人免费看| 久久99国产精品免费网站| 在线免费观看日本欧美| 国产亚洲一区二区在线观看| 午夜激情综合网| 91美女在线观看| 久久精品综合网| 免费成人av在线播放| 91丨porny丨蝌蚪视频| 精品av久久707| 天堂午夜影视日韩欧美一区二区| 懂色av一区二区夜夜嗨| 精品日韩一区二区| 性感美女久久精品| 91美女福利视频| 亚洲国产高清在线| 国产一区激情在线| 日韩一区二区三区免费看 | 国产精品素人视频| 看电视剧不卡顿的网站| 欧美影院午夜播放| 中文字幕日韩一区二区| 国产成人精品亚洲777人妖| 欧美一区二区三区在线观看| 亚洲一区在线电影| 91久久精品一区二区二区| 国产精品污网站| 国产高清在线精品| 精品国产一区二区在线观看| 日本不卡的三区四区五区| 欧美男同性恋视频网站| 亚洲一区二区三区四区中文字幕| av在线播放一区二区三区| 中文字幕成人av| 不卡一区二区中文字幕| 国产精品无人区| www.性欧美| 亚洲欧洲日本在线| 99精品视频在线免费观看| 国产精品久久久久aaaa樱花| 成人午夜精品在线| 国产精品久久综合| 97精品久久久午夜一区二区三区 | 久久精品视频在线免费观看| 精品亚洲国产成人av制服丝袜 | 国产一本一道久久香蕉| 久久免费午夜影院| 国产999精品久久| 国产精品成人免费精品自在线观看 | 自拍偷在线精品自拍偷无码专区 | 国产高清成人在线| 久久久精品蜜桃| 成人动漫一区二区在线| 亚洲特黄一级片| 欧美日韩国产小视频在线观看| 日韩经典一区二区| 精品国产一区二区三区久久久蜜月| 国产一区二区电影| 中文字幕一区不卡| 欧美人牲a欧美精品| 色综合久久九月婷婷色综合| 亚洲色图欧美在线| 欧美视频在线播放| 极品少妇一区二区三区精品视频 | 精品嫩草影院久久| 国产福利一区在线| 日韩一区有码在线| 4438成人网| 国产suv精品一区二区三区| 亚洲视频一二三区| 欧美一区二区视频在线观看| 国产一区视频网站| 一区二区成人在线| 精品乱人伦一区二区三区| 成人禁用看黄a在线| 香蕉加勒比综合久久| 国产亚洲精品bt天堂精选| 欧洲精品视频在线观看|