#navi(contents-page-name): No such page: Toppers
Counter: 0, today: 0, yesterday: 0

TINET

おしらせ


TINET概論

はじめに

TCPのAPI

TCPのAPI
TCP_CRE_REP(ID repid, {ATR repatr, {UW myipaddr, UH myportno}});TCP受付口の静的API
TCP_CRE_CEP(ID cepid, {ATR cepatr, VP sbuf, INT sbufsz, VP rbuf, INT rbufsz, FP callback});TCP通信端点の静的API
ER tcp_acp_cep(ID cepid, ID repid, T_IPV4EP *p_dstaddr, TMO tmout);接続要求待ち(受動オープン)
ER tcp_con_cep(ID cepid, T_IPV4EP *p_myaddr, T_IPV4EP *p_dstaddr, TMO tmout);接続要求待ち(能動オープン)
ER tcp_sht_cep(ID cepid);データ送信の終了(FINが送出される)
ER tcp_cls_cep(ID cepid, TMO tmout);通信端点のクローズ(本当にクローズするのを待つ)
ER tcp_snd_dat(ID cepid, VP data, INT len, TMO tmout);データの送信
ER tcp_rcv_dat(ID cepid, VP data, INT len, TMO tmout);データの受信
ER tcp_get_buf(ID cepid, VP *p_buf, TMO tmout);送信バッファの取得(省コピーAPI)
ER tcp_snd_buf(ID cepid, INT len);バッファ内のデータの送信(省コピーAPI)
ER tcp_rcv_buf(ID cepid, VP *p_buf, TMO tmout);受信データのバッファ取得(省コピーAPI)
ER tcp_rel_buf(ID cepid, INT len);受信用バッファの開放(省コピーAPI)
ER tcp_can_cep(ID cepid, FN fncd);ペンディングしている処理のキャンセル
ER callback(ID cepid, FN fncd, VP p_parblk);コールバックルーチン

UDPのAPI

UDPのAPI
UDP_CRE_CEP(ID repid, {ATR cepatr, {UW myipaddr, UH myportno}, FP callback});UDP通信端点の静的API

TINET独自API

TINET独自API
ER in4_add_ifaddr(T_IN4_ADDR addr, T_IN4_ADDR mask);インターフェースにIPv4アドレスを設定
ER in4_add_route(int index, T_IN4_ADDR target, T_IN4_ADDR mask, T_IN4_ADDR gateway);静的経路表にエントリ設定
extern UB *ip2str(UB *buf, const T_IN4_ADDR *ipaddr);IPv4アドレスを文字列に変換
const char *in_strtfn(FN fncd);機能コードを文字列に変換
extern UB *mac2str(UB *buf, UB *macaddr);MACアドレスを文字列に変換

アプリケーションの作り方

用意する(される)ファイル

ファイル名作成方法備考
config/$(CPU)/tinet_cpu_config.h新規作成プロセッサ依存。tinet_config.txt参照
config/$(CPU)/$(SYS)/tinet_sys_config.h新規作成システム依存。tinet_config.txt参照
$(APP_DIR)/tinet_app_config.h新規作成アプリ依存。tinet_config.txt参照
tinet/netdev/$(NIC)/tinet_nic_config.h新規作成インターフェース依存
config/$(CPU)/tinet_cpu_defs.h新規作成プロセッサ依存定義。tinet_defs.txt参照
tinet/netdev/$(NIC)/tinet_nic_defs.h新規作成インターフェース定義。tinet_defs.txt参照
$(APP_DIR)/tinet_$(UNAME).cfg新規作成コンフィギュレーションファイル
$(APP_DIR)/route_cfg.c新規作成静的ルーティング。nserv/route_cfg.c流用可
$(APP_DIR)/$(UNAME).c変更includeの追加(下記)
$(APP_DIR)/$(UNAME).cfg変更TINETのインクルード(下記)
$(APP_DIR)/Makefile変更TINETの追加(下記)
$(APP_DIR)/tinet_cfg.c自動生成TINETのcfg
$(APP_DIR)/tinet_kern.cfg自動生成TINETのカーネル
$(APP_DIR)/tinet_id.h自動生成TINETのIDファイル

ルーティングの設定


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS