版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、zebra命令存儲原理和使用方法、Zebra命令介紹zebra在設(shè)計命令格式時,將命令節(jié)點NODE和命令COMMAND分開,整個命令結(jié)構(gòu)是一個樹狀,如圖NODEn表示命令節(jié)點,CMDn表示具體命令,在zebra的整個命令行設(shè)計 當(dāng)中,zebra用向量的概念將命令和節(jié)點連接起來,一個全局向量CMDVEC指 向整個命令結(jié)構(gòu),CMDVEC的每個索引值都是一個具體的命令節(jié)點,在每個命 令節(jié)點的結(jié)構(gòu)中又存在各自的命令向量cmdvector,該向量指向隸屬于該節(jié)點的 命令,cmd_vector終端額每個索引值都是一個具體的命令。程序索引順序為 CMDVEC-NODEn-CMDn。二、命令的注冊過程zebr
2、a要成功注冊一個命令,需要以下幾個步驟:(1)安裝一個新節(jié)點(如無需安裝可省略這步)(2)寫一條命令的實現(xiàn)(3)將一條命令掛到節(jié)點下三、zebra命令相關(guān)結(jié)構(gòu)體介紹1. struct vector2. struct cmdnode該結(jié)構(gòu)在command.h中定義,用來表示一個命令節(jié)點,節(jié)點的類型由node_type枚舉 指出,節(jié)點的標(biāo)識字符由prompt表示,func表示該節(jié)點對應(yīng)的操作方法。該節(jié)點下的命 令由vector定義的cmd_voctor表示,例如,在全局配置模式下,命令節(jié)點的定義可以是該節(jié)點在zebra.h中定義,表示一個向量結(jié)構(gòu),在該結(jié)構(gòu)中,max表示目刖使用的最大slot,al
3、loced表示被分配到的slot,maxnode, node);node-func = func;node-cmd_vector = vector_init(VECTOR_MIN_SIZE);在本例中需加在command.c文件的void cmd_init(int terminal)函數(shù) 中,如下圖void cmd in it (int. terminal) GOJiua&nd_Gr = XSTRDUP (MTYPE_STRVEC, ,FKGrN);de5:c_cx. cmd = cominnd_ai;str = XSTRDUe7MTPE_STRVECf rr rr);,六 AL locate
4、 i nitial top vect. o r of commands . *, cjndvec = vector in it (VECTOR_MIN_SIZE);,士 Default host value settings. 士/ ho st in it );/A Install top nodes.古/ins+.all node ( &jnennode=TEN6ER_N0DE;return CMD_5UCE55;在command.c文件中編寫6.安裝命令命令安裝的實質(zhì)是將一個cmd_element結(jié)構(gòu)存儲到cmd_node結(jié)構(gòu)中的成員 cmd_vec向量的一個未被使用的slot里。調(diào)用接口
5、: void install_element(enum node_type, struct cmd_element *cmd);將剛才寫好的命令安裝到定義的節(jié)點下的步驟如下:6.1安裝觸發(fā)節(jié)點觸發(fā)節(jié)點:install_element(ENABLE_NODE,&menger_enable_cmd);安裝如下6052:/install ENAELE_NODE commands*/ 6053 :1 (t erjiLinal) 0605 4 :insl all_deaiilL (ZNAELE NDDE);iiisl all elemeiiL (ENAELE -JDDEf iiie:igeL t iic
6、tbls cu.lLJ安裝在 command.c 文件中的 void cmd_init(int terminal)函數(shù)中6.2安裝自定義節(jié)點自定義節(jié)點:install_element(MENGER_NODE,&menger_hello_cmd);安裝如下06124: if(terminal)06125: inst all element (MENGER NODE f &menqer hello cmd) 06127: 也是安裝在command.c文件中的void cmd_init(int terminal)函數(shù)中五編譯結(jié)果PI ease press Enter to contlnue.i_un
7、T yurcL unLrri v Ly i r Ltf Tdet!-urn off pri1 cccc rrocc ccmrrardEnd current moceard charge to heme mode.PrJ nt conimind Hturn on prJIeged mede coirmanc rjegate a coiimiarcl or set its cefablts Fvr mrrnr 匚 -.nc cnn rr wiriiiy nnrjp Refresh Jnform;tiorstore runrrinc corfig tc 一variable fIasi show runnlng sysiem InformaizlorSystem and mingcmcnt corfiguration set tenet service fLnctiorEnter user conf1 cure mcdE Di splay vhos or vtymi、pn Password:心廿 CVNftcun i yurt! disjbTc home list menger no qili- refresh save bIiljw sysTcri-confJ g tel ne?user-confJ g whoC、N# 門己ngerr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年攜手共進技術(shù)委托新篇章
- 高職院校教師考核與績效獎勵制度
- 遠程工作解除勞動合同協(xié)議書
- 我從未如此過作文7篇
- 電氣設(shè)備安全預(yù)試與評估方案
- 城市更新項目安置合同
- 新生兒科應(yīng)急藥品儲備預(yù)案
- 太陽能發(fā)電設(shè)備安裝施工方案
- 在線升旗儀式的組織與實施方案
- 社會企業(yè)殘疾人就業(yè)扶持方案
- 生物質(zhì)能發(fā)電技術(shù)應(yīng)用中存在的問題及優(yōu)化方案
- GA 1809-2022城市供水系統(tǒng)反恐怖防范要求
- 幼兒園繪本故事:《老虎拔牙》 課件
- 2021年上半年《系統(tǒng)集成項目管理工程師》真題
- 一個冬天的童話 遇羅錦
- GB/T 706-2008熱軋型鋼
- 實驗六 雙子葉植物莖的初生結(jié)構(gòu)和單子葉植物莖的結(jié)構(gòu)
- GB/T 25032-2010生活垃圾焚燒爐渣集料
- GB/T 13610-2020天然氣的組成分析氣相色譜法
- 《彩虹》教案 省賽一等獎
- 2023年湖南建筑工程初中級職稱考試基礎(chǔ)知識
評論
0/150
提交評論