source: uKadecot/trunk/uip/target/if_rx62n/if_rx62n.h@ 108

Last change on this file since 108 was 108, checked in by coas-nagasima, 9 years ago

MIMEプロパティの変更

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/x-chdr; charset=SHIFT_JIS
File size: 4.3 KB
Line 
1/*
2 * TINET (TCP/IP Protocol Stack)
3 *
4 * Copyright (C) 2001-2009 by Dep. of Computer Science and Engineering
5 * Tomakomai National College of Technology, JAPAN
6 * Copyright (C) 2014 Cores Co., Ltd. Japan
7 *
8 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
13 * スコード中に含まれていること.
14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
17 * の無保証規定を掲載すること.
18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
20 * と.
21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
22 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
24 * 報告すること.
25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
29 * 免責すること.
30 *
31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
35 * の責任を負わない.
36 *
37 * @(#) $Id: if_rx62n.h 108 2015-06-11 09:15:46Z coas-nagasima $
38 */
39
40/*
41 * Copyright (C) 1993, David Greenman. This software may be used, modified,
42 * copied, distributed, and sold, in both source and binary form provided
43 * that the above copyright and these terms are retained. Under no
44 * circumstances is the author responsible for the proper functioning
45 * of this software, nor does the author assume any responsibility
46 * for damages incurred with its use.
47 */
48
49#ifndef _IF_RX62N_H_
50#define _IF_RX62N_H_
51
52/*
53 * フィールド長
54 */
55
56#define ETHER_ADDR_LEN 6 /* Ethernet (MAC) Address */
57
58/*
59 * RX62N Ethernet Controler に関する定義
60 */
61
62#define NUM_IF_RX62N_TXBUF 8 /* 送信バッファ数 */
63#define NUM_IF_RX62N_RXBUF 8 /* 受信バッファ数 */
64#define IF_RX62N_BUF_PAGE_SIZE 1518 /* バッファサイズ */
65
66/*
67 * NIC の選択マクロ
68 */
69
70#define IF_ETHER_NIC_GET_SOFTC() rx62n_get_softc()
71#define IF_ETHER_NIC_WATCHDOG(i) rx62n_watchdog(i)
72#define IF_ETHER_NIC_PROBE(i) rx62n_probe(i)
73#define IF_ETHER_NIC_INIT(i) rx62n_init(i)
74#define IF_ETHER_NIC_LINK(i) rx62n_link(i)
75#define IF_ETHER_NIC_READ(i,b) rx62n_read(i,b)
76#define IF_ETHER_NIC_RESET(i) rx62n_reset(i)
77#define IF_ETHER_NIC_START(i,o,l) rx62n_start(i,o,l)
78
79#define T_IF_ETHER_NIC_SOFTC struct t_rx62n_softc
80struct t_if_softc {
81 //T_IF_ADDR ifaddr; /* ネットワークインタフェースのアドレス */
82 //uint16_t timer; /* 送信タイムアウト */
83 T_IF_ETHER_NIC_SOFTC *sc; /* ディバイス依存のソフトウェア情報 */
84 uint8_t rxb_write;
85 uint8_t rxb_read;
86 bool_t link_pre;
87 bool_t link_now;
88 bool_t over_flow;
89 int udp_pos;
90};
91
92/* IPv6 関係 */
93
94#define IF_ETHER_NIC_IN6_IFID(i,a) get_mac6_ifid(i,a) /* インタフェース識別子の設定 */
95#define IF_ETHER_NIC_ADDMULTI(s) rx62n_addmulti(s) /* マルチキャストアドレスの登録 */
96
97#if !defined(TOPPERS_MACRO_ONLY) && !defined(_MACRO_ONLY)
98
99/*
100 * 前方参照
101 */
102
103#ifndef T_IF_SOFTC_DEFINED
104
105typedef struct t_if_softc T_IF_SOFTC;
106
107#define T_IF_SOFTC_DEFINED
108
109#endif /* of #ifndef T_IF_SOFTC_DEFINED */
110
111/*
112 * 関数
113 */
114
115extern T_IF_SOFTC *rx62n_get_softc(void);
116extern void rx62n_watchdog(T_IF_SOFTC *ic);
117extern void rx62n_probe(T_IF_SOFTC *ic);
118extern void rx62n_init(T_IF_SOFTC *ic);
119extern void rx62n_reset(T_IF_SOFTC *ic);
120extern bool_t rx62n_link(T_IF_SOFTC *ic);
121extern int rx62n_read(T_IF_SOFTC *ic, void **input);
122extern void rx62n_start(T_IF_SOFTC *ic, void *output, int size);
123extern ER rx62n_addmulti(T_IF_SOFTC *ic);
124extern void if_rx62n_trx_handler(void);
125
126#endif /* #if !defined(TOPPERS_MACRO_ONLY) && !defined(_MACRO_ONLY) */
127
128#endif /* of #ifndef _IF_RX62N_H_ */
Note: See TracBrowser for help on using the repository browser.