diff options
Diffstat (limited to 'include/net/dn.h')
-rw-r--r-- | include/net/dn.h | 105 |
1 files changed, 52 insertions, 53 deletions
diff --git a/include/net/dn.h b/include/net/dn.h index a4b6168e1e25..465b78302782 100644 --- a/include/net/dn.h +++ b/include/net/dn.h | |||
@@ -6,10 +6,8 @@ | |||
6 | #include <net/tcp.h> | 6 | #include <net/tcp.h> |
7 | #include <asm/byteorder.h> | 7 | #include <asm/byteorder.h> |
8 | 8 | ||
9 | typedef unsigned short dn_address; | 9 | #define dn_ntohs(x) le16_to_cpu(x) |
10 | 10 | #define dn_htons(x) cpu_to_le16(x) | |
11 | #define dn_ntohs(x) le16_to_cpu((unsigned short)(x)) | ||
12 | #define dn_htons(x) cpu_to_le16((unsigned short)(x)) | ||
13 | 11 | ||
14 | struct dn_scp /* Session Control Port */ | 12 | struct dn_scp /* Session Control Port */ |
15 | { | 13 | { |
@@ -31,36 +29,36 @@ struct dn_scp /* Session Control Port */ | |||
31 | #define DN_CL 15 /* Closed */ | 29 | #define DN_CL 15 /* Closed */ |
32 | #define DN_CN 16 /* Closed Notification */ | 30 | #define DN_CN 16 /* Closed Notification */ |
33 | 31 | ||
34 | unsigned short addrloc; | 32 | __le16 addrloc; |
35 | unsigned short addrrem; | 33 | __le16 addrrem; |
36 | unsigned short numdat; | 34 | __u16 numdat; |
37 | unsigned short numoth; | 35 | __u16 numoth; |
38 | unsigned short numoth_rcv; | 36 | __u16 numoth_rcv; |
39 | unsigned short numdat_rcv; | 37 | __u16 numdat_rcv; |
40 | unsigned short ackxmt_dat; | 38 | __u16 ackxmt_dat; |
41 | unsigned short ackxmt_oth; | 39 | __u16 ackxmt_oth; |
42 | unsigned short ackrcv_dat; | 40 | __u16 ackrcv_dat; |
43 | unsigned short ackrcv_oth; | 41 | __u16 ackrcv_oth; |
44 | unsigned char flowrem_sw; | 42 | __u8 flowrem_sw; |
45 | unsigned char flowloc_sw; | 43 | __u8 flowloc_sw; |
46 | #define DN_SEND 2 | 44 | #define DN_SEND 2 |
47 | #define DN_DONTSEND 1 | 45 | #define DN_DONTSEND 1 |
48 | #define DN_NOCHANGE 0 | 46 | #define DN_NOCHANGE 0 |
49 | unsigned short flowrem_dat; | 47 | __u16 flowrem_dat; |
50 | unsigned short flowrem_oth; | 48 | __u16 flowrem_oth; |
51 | unsigned short flowloc_dat; | 49 | __u16 flowloc_dat; |
52 | unsigned short flowloc_oth; | 50 | __u16 flowloc_oth; |
53 | unsigned char services_rem; | 51 | __u8 services_rem; |
54 | unsigned char services_loc; | 52 | __u8 services_loc; |
55 | unsigned char info_rem; | 53 | __u8 info_rem; |
56 | unsigned char info_loc; | 54 | __u8 info_loc; |
57 | 55 | ||
58 | unsigned short segsize_rem; | 56 | __u16 segsize_rem; |
59 | unsigned short segsize_loc; | 57 | __u16 segsize_loc; |
60 | 58 | ||
61 | unsigned char nonagle; | 59 | __u8 nonagle; |
62 | unsigned char multi_ireq; | 60 | __u8 multi_ireq; |
63 | unsigned char accept_mode; | 61 | __u8 accept_mode; |
64 | unsigned long seg_total; /* Running total of current segment */ | 62 | unsigned long seg_total; /* Running total of current segment */ |
65 | 63 | ||
66 | struct optdata_dn conndata_in; | 64 | struct optdata_dn conndata_in; |
@@ -160,40 +158,41 @@ static inline struct dn_scp *DN_SK(struct sock *sk) | |||
160 | */ | 158 | */ |
161 | #define DN_SKB_CB(skb) ((struct dn_skb_cb *)(skb)->cb) | 159 | #define DN_SKB_CB(skb) ((struct dn_skb_cb *)(skb)->cb) |
162 | struct dn_skb_cb { | 160 | struct dn_skb_cb { |
163 | unsigned short dst; | 161 | __le16 dst; |
164 | unsigned short src; | 162 | __le16 src; |
165 | unsigned short hops; | 163 | __u16 hops; |
166 | unsigned short dst_port; | 164 | __le16 dst_port; |
167 | unsigned short src_port; | 165 | __le16 src_port; |
168 | unsigned char services; | 166 | __u8 services; |
169 | unsigned char info; | 167 | __u8 info; |
170 | unsigned char rt_flags; | 168 | __u8 rt_flags; |
171 | unsigned char nsp_flags; | 169 | __u8 nsp_flags; |
172 | unsigned short segsize; | 170 | __u16 segsize; |
173 | unsigned short segnum; | 171 | __u16 segnum; |
174 | unsigned short xmit_count; | 172 | __u16 xmit_count; |
175 | unsigned long stamp; | 173 | unsigned long stamp; |
176 | int iif; | 174 | int iif; |
177 | }; | 175 | }; |
178 | 176 | ||
179 | static inline dn_address dn_eth2dn(unsigned char *ethaddr) | 177 | static inline __le16 dn_eth2dn(unsigned char *ethaddr) |
180 | { | 178 | { |
181 | return ethaddr[4] | (ethaddr[5] << 8); | 179 | return dn_htons(ethaddr[4] | (ethaddr[5] << 8)); |
182 | } | 180 | } |
183 | 181 | ||
184 | static inline dn_address dn_saddr2dn(struct sockaddr_dn *saddr) | 182 | static inline __le16 dn_saddr2dn(struct sockaddr_dn *saddr) |
185 | { | 183 | { |
186 | return *(dn_address *)saddr->sdn_nodeaddr; | 184 | return *(__le16 *)saddr->sdn_nodeaddr; |
187 | } | 185 | } |
188 | 186 | ||
189 | static inline void dn_dn2eth(unsigned char *ethaddr, dn_address addr) | 187 | static inline void dn_dn2eth(unsigned char *ethaddr, __le16 addr) |
190 | { | 188 | { |
189 | __u16 a = dn_ntohs(addr); | ||
191 | ethaddr[0] = 0xAA; | 190 | ethaddr[0] = 0xAA; |
192 | ethaddr[1] = 0x00; | 191 | ethaddr[1] = 0x00; |
193 | ethaddr[2] = 0x04; | 192 | ethaddr[2] = 0x04; |
194 | ethaddr[3] = 0x00; | 193 | ethaddr[3] = 0x00; |
195 | ethaddr[4] = (unsigned char)(addr & 0xff); | 194 | ethaddr[4] = (__u8)(a & 0xff); |
196 | ethaddr[5] = (unsigned char)(addr >> 8); | 195 | ethaddr[5] = (__u8)(a >> 8); |
197 | } | 196 | } |
198 | 197 | ||
199 | static inline void dn_sk_ports_copy(struct flowi *fl, struct dn_scp *scp) | 198 | static inline void dn_sk_ports_copy(struct flowi *fl, struct dn_scp *scp) |
@@ -202,7 +201,7 @@ static inline void dn_sk_ports_copy(struct flowi *fl, struct dn_scp *scp) | |||
202 | fl->uli_u.dnports.dport = scp->addrrem; | 201 | fl->uli_u.dnports.dport = scp->addrrem; |
203 | fl->uli_u.dnports.objnum = scp->addr.sdn_objnum; | 202 | fl->uli_u.dnports.objnum = scp->addr.sdn_objnum; |
204 | if (fl->uli_u.dnports.objnum == 0) { | 203 | if (fl->uli_u.dnports.objnum == 0) { |
205 | fl->uli_u.dnports.objnamel = scp->addr.sdn_objnamel; | 204 | fl->uli_u.dnports.objnamel = (__u8)dn_ntohs(scp->addr.sdn_objnamel); |
206 | memcpy(fl->uli_u.dnports.objname, scp->addr.sdn_objname, 16); | 205 | memcpy(fl->uli_u.dnports.objname, scp->addr.sdn_objname, 16); |
207 | } | 206 | } |
208 | } | 207 | } |
@@ -217,7 +216,7 @@ extern unsigned dn_mss_from_pmtu(struct net_device *dev, int mtu); | |||
217 | extern struct sock *dn_sklist_find_listener(struct sockaddr_dn *addr); | 216 | extern struct sock *dn_sklist_find_listener(struct sockaddr_dn *addr); |
218 | extern struct sock *dn_find_by_skb(struct sk_buff *skb); | 217 | extern struct sock *dn_find_by_skb(struct sk_buff *skb); |
219 | #define DN_ASCBUF_LEN 9 | 218 | #define DN_ASCBUF_LEN 9 |
220 | extern char *dn_addr2asc(dn_address, char *); | 219 | extern char *dn_addr2asc(__u16, char *); |
221 | extern int dn_destroy_timer(struct sock *sk); | 220 | extern int dn_destroy_timer(struct sock *sk); |
222 | 221 | ||
223 | extern int dn_sockaddr2username(struct sockaddr_dn *addr, unsigned char *buf, unsigned char type); | 222 | extern int dn_sockaddr2username(struct sockaddr_dn *addr, unsigned char *buf, unsigned char type); |
@@ -226,7 +225,7 @@ extern int dn_username2sockaddr(unsigned char *data, int len, struct sockaddr_dn | |||
226 | extern void dn_start_slow_timer(struct sock *sk); | 225 | extern void dn_start_slow_timer(struct sock *sk); |
227 | extern void dn_stop_slow_timer(struct sock *sk); | 226 | extern void dn_stop_slow_timer(struct sock *sk); |
228 | 227 | ||
229 | extern dn_address decnet_address; | 228 | extern __le16 decnet_address; |
230 | extern int decnet_debug_level; | 229 | extern int decnet_debug_level; |
231 | extern int decnet_time_wait; | 230 | extern int decnet_time_wait; |
232 | extern int decnet_dn_count; | 231 | extern int decnet_dn_count; |