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