- 履歴一覧
- ソース を表示
- Toppers/Tinet は削除されています。
#navi(contents-page-name): No such page: Toppers
Counter: 0,
today: 0,
yesterday: 0
TINET†
おしらせ†
TINET概論†
はじめに†
- ユーティリティ関数/マクロ
UW htonl(UW hl); | ホスト32ビットをネットワークオーダに変換 |
UH htons(UH hs); | ホスト16ビットをネットワークオーダに変換 |
UW ntohl(UW nl); | ネットワーク32ビットをホストオーダに変換 |
UH ntohs(UH ns); | ネットワーク16ビットをホストオーダに変換 |
- エラーコード取り出し関数/マクロ
ER mainercd(ER ercd); | エラーコードからメインエラーコードを取り出す |
ER subercd(ER ercd); | エラーコードからサブエラーコードを取り出す |
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アドレスを文字列に変換 |
- BOOL arp_callback_duplicated(UB *short);コールバック関数が必要
IPv4アドレスの重複検出時の処理
アプリケーションの作り方†
用意する(される)ファイル†
ファイル名 | 作成方法 | 備考 |
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ファイル |
ルーティングの設定†