Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* Definitions for Econet sockets. */ |
2 | ||
3 | #ifndef __LINUX_IF_EC | |
4 | #define __LINUX_IF_EC | |
5 | ||
6 | /* User visible stuff. Glibc provides its own but libc5 folk will use these */ | |
7 | ||
d94d9fee | 8 | struct ec_addr { |
1da177e4 LT |
9 | unsigned char station; /* Station number. */ |
10 | unsigned char net; /* Network number. */ | |
11 | }; | |
12 | ||
d94d9fee | 13 | struct sockaddr_ec { |
1da177e4 LT |
14 | unsigned short sec_family; |
15 | unsigned char port; /* Port number. */ | |
16 | unsigned char cb; /* Control/flag byte. */ | |
17 | unsigned char type; /* Type of message. */ | |
18 | struct ec_addr addr; | |
19 | unsigned long cookie; | |
20 | }; | |
21 | ||
22 | #define ECTYPE_PACKET_RECEIVED 0 /* Packet received */ | |
23 | #define ECTYPE_TRANSMIT_STATUS 0x10 /* Transmit completed, | |
24 | low nibble holds status */ | |
25 | ||
26 | #define ECTYPE_TRANSMIT_OK 1 | |
27 | #define ECTYPE_TRANSMIT_NOT_LISTENING 2 | |
28 | #define ECTYPE_TRANSMIT_NET_ERROR 3 | |
29 | #define ECTYPE_TRANSMIT_NO_CLOCK 4 | |
30 | #define ECTYPE_TRANSMIT_LINE_JAMMED 5 | |
31 | #define ECTYPE_TRANSMIT_NOT_PRESENT 6 | |
32 | ||
33 | #ifdef __KERNEL__ | |
34 | ||
35 | #define EC_HLEN 6 | |
36 | ||
37 | /* This is what an Econet frame looks like on the wire. */ | |
d94d9fee | 38 | struct ec_framehdr { |
1da177e4 LT |
39 | unsigned char dst_stn; |
40 | unsigned char dst_net; | |
41 | unsigned char src_stn; | |
42 | unsigned char src_net; | |
43 | unsigned char cb; | |
44 | unsigned char port; | |
45 | }; | |
46 | ||
47 | struct econet_sock { | |
48 | /* struct sock has to be the first member of econet_sock */ | |
49 | struct sock sk; | |
50 | unsigned char cb; | |
51 | unsigned char port; | |
52 | unsigned char station; | |
53 | unsigned char net; | |
54 | unsigned short num; | |
55 | }; | |
56 | ||
57 | static inline struct econet_sock *ec_sk(const struct sock *sk) | |
58 | { | |
59 | return (struct econet_sock *)sk; | |
60 | } | |
61 | ||
d94d9fee | 62 | struct ec_device { |
1da177e4 LT |
63 | unsigned char station, net; /* Econet protocol address */ |
64 | }; | |
65 | ||
66 | #endif | |
67 | ||
68 | #endif |