include/linux/if_ec.h
changeset 0 aa628870c1d3
equal deleted inserted replaced
-1:000000000000 0:aa628870c1d3
       
     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