Subversion Repositories shark

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
422 giacomo 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
  unsigned short num;
57
};
58
 
59
#define ec_sk(__sk) ((struct econet_opt *)(__sk)->sk_protinfo)
60
 
61
struct ec_device
62
{
63
  unsigned char station, net;           /* Econet protocol address */
64
};
65
 
66
#endif
67
 
68
#endif