linux/include/linux/if_ec.h
<<
>>
Prefs
   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
   8struct ec_addr {
   9  unsigned char station;                /* Station number.  */
  10  unsigned char net;                    /* Network number.  */
  11};
  12
  13struct sockaddr_ec {
  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. */
  38struct ec_framehdr {
  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
  47struct 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
  57static inline struct econet_sock *ec_sk(const struct sock *sk)
  58{
  59        return (struct econet_sock *)sk;
  60}
  61
  62struct ec_device {
  63  unsigned char station, net;           /* Econet protocol address */
  64};
  65
  66#endif
  67
  68#endif
  69