




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、相關(guān)文件:uip-conf.h uip配置文件.uipopt.h uip配置選項(xiàng)針對(duì)于工程的配置選項(xiàng):uip有大量的配置選項(xiàng),它們都可以根據(jù)工程需要重載.它們被保存在一個(gè)工程相關(guān)的uip-conf.h文件中,所有配置的名稱都有UIP_CONF前輟. 1. #define UIP_CONF_MAX_CONNECTIONS 最大的TCP連接數(shù).2. #define UIP_CONF_MAX_LISTENPORTS 最大監(jiān)聽的TCP端口數(shù).3. #define UIP_CONF_BUFFER_SIZE uip 緩沖區(qū)大小.4. #define UIP_CONF_BYTE_ORD
2、ER CPU字節(jié)順序.5. #define UIP_CONF_LOGGING 是否開啟日志6. #define UIP_CONF_UDP 是否啟用UDP功能7. #define UIP_CONF_UDP_CHECKSUMS 是否啟用UDC校驗(yàn)和.8. #define UIP_CONF_STATISTICS UIP配置統(tǒng)計(jì)是否開啟.9. typedef uint8_t u8_t 8位的數(shù)據(jù)類型.10. typedef uint16_t u16_t 16位的數(shù)據(jù)類型.11. typedef unsigned short uip_stats_t 統(tǒng)計(jì)數(shù)據(jù)類型.復(fù)制代碼靜態(tài)配置選項(xiàng):這些選項(xiàng)可以用來靜
3、態(tài)配置IP地址,條件是UIP_FIXEDADDR必須設(shè)為1. 指定節(jié)點(diǎn)的配置選項(xiàng)包括IP地址,子網(wǎng)掩碼,默認(rèn)路由及以太網(wǎng)址.而后三項(xiàng)只有在以太網(wǎng)中時(shí)才可用. 1. #define UIP_FIXEDADDR 決定uIP使用固定IP與否.2. #define UIP_PINGADDRCONF 設(shè)置ping地址.3. #define UIP_FIXEDETHADDR ARP模塊的編譯是否用固定的MAC地址.復(fù)制代碼IP配置選項(xiàng): 1. #define UIP_TTL 64 定義UIP包的生存時(shí)間.TTL.2. #define UIP_REASSEMBLY 打開IP包重新組裝功能.3. #defin
4、e UIP_REASS_MAXAGE 40 IP片斷扔掉之前在重組裝緩沖區(qū)等待的時(shí)間.復(fù)制代碼UDP配置選項(xiàng): 1. #define UIP_UDP UDP支持是否編譯2. #define UIP_UDP_CHECKSUMS. 是否使用UDP校驗(yàn)和.3. #define UIP_UDP_CONNS 最大并發(fā)UDP連接數(shù).復(fù)制代碼TCP配置選項(xiàng): 1. #define UIP_ACTIVE_OPEN 決定UIP的打開連接支持是否編譯.2. #define UIP_CONNS 最大同時(shí)打開的TCP連接數(shù).3. #define UIP_LISTENPORTS 最大TCP監(jiān)聽端口數(shù).4. #defin
5、e UIP_URGDATA 是否編譯TCP緊迫數(shù)據(jù)提醒.5. #define UIP_RTO 3 初始重傳超時(shí)計(jì)數(shù),以定時(shí)器脈沖個(gè)數(shù)計(jì).6. #define UIP_MAXRTX 8 一段數(shù)據(jù)最大重傳多少次才取消連接.7. #define UIP_MAXSYNRTX 5 一段SYN數(shù)據(jù)要最大得傳多少次,才認(rèn)定連接請(qǐng)求失敗.8. #define UIP_TCP_MSS (UIP_BUFSIZE - UIP_LLH_LEN - UIP_TCPIP_HLEN) TCP最大段大小9. #define UIP_RECEIVE_WINDOW 廣播接收器的最大窗口大小.10. #def
6、ine UIP_TIME_WAIT_TIMEOUT 120 一個(gè)連接處于TIME_WAIT狀態(tài)的最大時(shí)間.復(fù)制代碼ARP配置選項(xiàng): 1. #define UIP_ARPTAB_SIZE ARP表大小.2. #define UIP_ARP_MAXAGE 120 ARP表的最大存活年齡,單位為10s.復(fù)制代碼通用配置選項(xiàng): 1. #define UIP_BUFSIZE UIP包緩沖區(qū)大小.2. #define UIP_STATISTICS 是否編譯統(tǒng)計(jì)功能.3. #define UIP_LOGGING 某些事件的日志功能是否編譯.4. #define UIP_BROADCAST 廣播功能是否支持.
7、5. #define UIP_LLH_LEN 鏈路層頭長(zhǎng)度.6. void uip_log (char *msg) 打印UIP日志信息.復(fù)制代碼CPU架構(gòu)配置:這里指定的是CPU的大小端模式.當(dāng)今的CPU多時(shí)小端的,然而最著名的例外就是motorola的CPU.它是大端的.應(yīng)根據(jù)CPU的大小端模式不同,配置 BYTE_ORDER. 1. #define UIP_BYTE_ORDER UIP所運(yùn)行的CPU大小端模式.復(fù)制代碼針對(duì)應(yīng)用的配置:UIP應(yīng)用是使用單個(gè)應(yīng)用函數(shù)數(shù)實(shí)現(xiàn)的.只要TCP/IP事件發(fā)生,uIP就會(huì)調(diào)用這個(gè)函數(shù).這個(gè)函數(shù)的名字必須在編譯時(shí)使用UIP_APPCALL注冊(cè)到uIP.uI
8、P應(yīng)用可以在uip_conn結(jié)構(gòu)中保存應(yīng)用狀態(tài).這是通過利用typedef uip_tcp_appstate_t和uip_udp_appstate_t指定應(yīng)用的類型實(shí)現(xiàn)的.包含此定義的文件必須被包含在uipopt.h文件中.下面是一個(gè)例子:1. void httpd_appcall(void);2. #define UIP_APPCALL httpd_appcall3.4. struct httpd_state 5. u8_t state;6. u16_t count;7.
9、char *dataptr;8. char *script;9. ;10. typedef struct httpd_state uip_tcp_appstate_t復(fù)制代碼1. #define UIP_APPCALL smtp_appcall TCP/IP事件的應(yīng)答函數(shù)名稱.2. typedef smtp_state uip_tcp_appstate_t 存儲(chǔ)在uip_conn中的應(yīng)用狀態(tài)類型.3. typedef int uip_udp_appstate_t 存儲(chǔ)在uip_conn中的應(yīng)用狀態(tài)類型4. #define UIP_LITTLE_EN
10、DIAN 34125. #define UIP_BIG_ENDIAN 1234復(fù)制代碼1. #define UIP_ACTIVE_OPEN決定是否支持在uip中打開連接.如果此工程中工作于uip上層的應(yīng)用不需要打開TCP連接,可以關(guān)閉此項(xiàng)以減小編譯后的代碼大小.定義于uipopt.h中的233行.2. #define UIP_ARP_MAXAGE 120以10s為單位的ARP表項(xiàng)的最大年齡.120代表的是20分鐘(BSD中的默認(rèn)值).定義于uipopt.h中的358行.引用于uip_arp_timer().3. #define UIP_ARPTAB_SIZEARP表的大小.如果uip節(jié)點(diǎn)可能在
11、本地網(wǎng)絡(luò)中有很多連接,則此值應(yīng)設(shè)得大些.定義于uipopt.h中的349行.引用于uip_arp_init(), uip_arp_out(), anduip_arp_timer().4. #define UIP_BROADCAST支持廣播.此標(biāo)志用于配置廣播的支持,僅在開啟UDP時(shí)才有意義.定義于uipopt.h中的423行.5. #define UIP_BUFSIZEuip包緩沖區(qū)大小.不就小于60字節(jié),不須大于1500字節(jié).這個(gè)值越小,TCP的吞吐量就越小,相反越大.定義于uipopt.h中的379行.引用于uip_split_output().6. #define UIP_BYTE_OR
12、DERuip運(yùn)行的CPU構(gòu)架的字節(jié)順序,可選值僅有兩個(gè),分別為BIG_ENDIAN和 LITTLE_ENDIAN.應(yīng)用全程:example-mainloop-with-arp.c, and example-mainloop-without-arp.c.定義于uipopt.h中的475行.7. #define UIP_CONNS可同時(shí)打開的最大TCP連接數(shù).由TCP連接是靜態(tài)開辟的,所以減小此選項(xiàng)的值可以減小RAM占用量,每個(gè)TCP連接需要大約30字節(jié)的RAM.定義于uipopt.h中的245行.引用于uip_connect().8. #define UIP_FIXEDADDR決定uIP是否使用
13、固定IP地址.如果使用固定IP地址,則此地址可以在uipopt.h中指定.否則,如果想用動(dòng)態(tài)的IP地址,則可以使用uip_sethostaddr(), uip_setdraddr() and uip_setnetmask() 三個(gè)宏動(dòng)態(tài)指定.定義于uipopt.h中的97行.9. #define UIP_FIXEDETHADDR決定uIP是否使用固定的MAC地址.若不使用固定的MAC地址,則可用uip_setethaddr()在運(yùn)行時(shí)動(dòng)態(tài)指定.定義于uipopt.h中的127行.10. #define UIP_LISTENPORTS可以同時(shí)監(jiān)聽的最大端口數(shù).每監(jiān)聽一個(gè)TCP端口需要兩字節(jié)內(nèi)存.
14、定義于uipopt.h中的259行.引用于uip_init(), uip_listen(), and uip_unlisten().11. #define UIP_LLH_LEN鏈路層頭的長(zhǎng)度.這個(gè)IP頭在uip_buf中的編移量.對(duì)于以太網(wǎng)來說,此值為14.對(duì)于SLIP來說,其值0 .定義于uipopt.h中的448行.引用于uip_ipchksum(), uip_process(), and uip_split_output().12. #define UIP_LOGGING定義是否編譯事件日志.這對(duì)于調(diào)試是非常有幫助的.如果打開此項(xiàng),或必須在工程的構(gòu)架上實(shí)現(xiàn)uip_log().定義于ui
15、popt.h中的408行.13. #define UIP_MAXRTX 8在最多多少次重新發(fā)送同一段數(shù)據(jù)之后,就得取消連接.此項(xiàng)不應(yīng)改變.定義于uipopt.h中的288行.引用于uip_process(). 14. #define UIP_MAXSYNRTX 5一個(gè)SYN數(shù)據(jù)最多可以重傳多少次,之后就得認(rèn)為連接請(qǐng)求失敗.此項(xiàng)亦不應(yīng)改變.定義于uipopt.h中的297行.引用于uip_process().15. #define UIP_PINGADDRCONF設(shè)定ping IP地址.如果設(shè)定此項(xiàng),則uip使用ping包來設(shè)定其IP地址.此時(shí)uip啟用時(shí)會(huì)只有一個(gè)空的Ip地址,而把收到的第一個(gè)
16、ping包設(shè)為自己的地址.注意:此項(xiàng)只有在UIP_FIXEDADDR設(shè)為0時(shí)才可用.定義于uipopt.h中的114行.有點(diǎn)長(zhǎng),樓下繼續(xù)··本帖最后由 逐月 于 2010-11-17 21:44 編輯 16. #define UIP_REASSEMBLY打開IP包重組.uip支持碎片IP包的重組.此項(xiàng)特性需要多余的RAM來盛放重組緩沖區(qū).重組代碼大小約為700字節(jié).重組緩沖區(qū)的大小與uip_buf的大小(由UIP_BUFSIZE配置)相同.注意:IP包重組并未經(jīng)過嚴(yán)格測(cè)試.定義于uipopt.h的156行.17. #define UIP_RECEIVE_WINDOW通告的接
17、收器窗口.如果處理器對(duì)輸入數(shù)據(jù)處理能力較慢,則應(yīng)設(shè)得低些(uip_buf的大小),否則應(yīng)設(shè)得高些(32768字節(jié)).定義于uipopt.h的317行.18. #define UIP_RTO 3以時(shí)鐘脈沖計(jì)算的重傳超時(shí)計(jì)數(shù).此項(xiàng)不應(yīng)改變.定義于uipopt.h的280行.引用于uip_process().19. #define UIP_STATISTICS決定是否將統(tǒng)計(jì)功能加入編譯.統(tǒng)計(jì)功能對(duì)于調(diào)試和顯示用戶是非常有幫助的.定義于uipopt.h的393行.20. #define UIP_TCP_MSS (UIP_BUFSIZE - UIP_LLH_LEN - UIP_TCPIP_HLEN)TC
18、P最大數(shù)據(jù)段大小.此值不應(yīng)大于UIP_BUFSIZE - UIP_LLH_LEN - UIP_TCPIP_HLEN.定義于uipopt.h的305行.21. #define UIP_TIME_WAIT_TIMEOUT 120一個(gè)連接應(yīng)該停留在TIME_WAIT狀態(tài)的最長(zhǎng)時(shí)間.此配置選項(xiàng)沒有真正的實(shí)現(xiàn),所以不應(yīng)理會(huì).定義于uipopt.h的328行.引用于uip_process().22. #define UIP_TTL 64uip發(fā)送的IP包的生存時(shí)間(TTL)通常此項(xiàng)不應(yīng)更改.定義于uipopt.h的141行.23. #define UIP_UDP_CHECKSUMS是否使用UDP校驗(yàn)和.注意:對(duì)UDP校驗(yàn)和的支持目前并不包含于uIP,故此項(xiàng)無用.定義于uipopt.h的195行.24. #define UIP_URGDATATCP緊迫數(shù)據(jù)通告功能是否編譯.緊迫數(shù)據(jù)(帶外數(shù)據(jù))在TCP中很少用到, 所以很少需要.定義于uipopt.h的273行.25. typedef uint16_t u16_t16位數(shù)據(jù)類型.這個(gè)類型定義定義了通貫uip所使用的16位數(shù)據(jù)類型.應(yīng)用例程:dhcpc.c, dhcpc.h, resolv.c, resolv.h, s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣告公司服務(wù)合同
- 美容項(xiàng)目加盟協(xié)議書
- 外墻保溫臨時(shí)合同范本
- 勞務(wù)簡(jiǎn)本合同范本
- 個(gè)人車輛日租合同范本
- 廠房、倉庫租賃合同范例
- 外貿(mào)產(chǎn)業(yè)專題研究:結(jié)論與展望
- 合作投資房產(chǎn)合同范本
- 廚師入股飯店合同范本
- 產(chǎn)品營(yíng)銷轉(zhuǎn)讓合同范本
- 機(jī)械設(shè)計(jì)傳送帶設(shè)計(jì)
- 圖解國(guó)家數(shù)據(jù)局《“數(shù)據(jù)要素×”三年行動(dòng)計(jì)劃(2024-2026 年)(征求意見稿)》
- 老年人預(yù)防跌倒健康宣教
- GB/T 43526-2023用戶側(cè)電化學(xué)儲(chǔ)能系統(tǒng)接入配電網(wǎng)技術(shù)規(guī)定
- 小組合作學(xué)習(xí)班級(jí)評(píng)價(jià)表
- 某公司新員工入職登記表格
- APQP新產(chǎn)品開發(fā)計(jì)劃ABCD表
- SAP-QM質(zhì)量管理模塊前臺(tái)操作詳解(S4系統(tǒng))
- 《民法典》婚姻家庭編解讀之夫妻共同債務(wù)(1064條)
- 初中學(xué)生數(shù)學(xué)學(xué)習(xí)狀況問卷調(diào)查及分析報(bào)告
- 貝殼房屋租賃合同標(biāo)準(zhǔn)版
評(píng)論
0/150
提交評(píng)論