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_opt 51 { 52 unsigned char cb; 53 unsigned char port; 54 unsigned char station; 55 unsigned char net; 56 }; 57 58 struct ec_device 59 { 60 unsigned char station, net; /* Econet protocol address */ 61 }; 62 63 #endif 64 65 #endif 66