if_ec.h
上传用户:szlgq88
上传日期:2009-04-28
资源大小:48287k
文件大小:2k
- /* Definitions for Econet sockets. */
- #ifndef __LINUX_IF_EC
- #define __LINUX_IF_EC
- /* User visible stuff. Glibc provides its own but libc5 folk will use these */
- struct ec_addr
- {
- unsigned char station; /* Station number. */
- unsigned char net; /* Network number. */
- };
- struct sockaddr_ec
- {
- unsigned short sec_family;
- unsigned char port; /* Port number. */
- unsigned char cb; /* Control/flag byte. */
- unsigned char type; /* Type of message. */
- struct ec_addr addr;
- unsigned long cookie;
- };
- #define ECTYPE_PACKET_RECEIVED 0 /* Packet received */
- #define ECTYPE_TRANSMIT_STATUS 0x10 /* Transmit completed,
- low nibble holds status */
- #define ECTYPE_TRANSMIT_OK 1
- #define ECTYPE_TRANSMIT_NOT_LISTENING 2
- #define ECTYPE_TRANSMIT_NET_ERROR 3
- #define ECTYPE_TRANSMIT_NO_CLOCK 4
- #define ECTYPE_TRANSMIT_LINE_JAMMED 5
- #define ECTYPE_TRANSMIT_NOT_PRESENT 6
- #ifdef __KERNEL__
- #define EC_HLEN 6
- /* This is what an Econet frame looks like on the wire. */
- struct ec_framehdr
- {
- unsigned char dst_stn;
- unsigned char dst_net;
- unsigned char src_stn;
- unsigned char src_net;
- unsigned char cb;
- unsigned char port;
- };
- struct econet_sock {
- /* struct sock has to be the first member of econet_sock */
- struct sock sk;
- unsigned char cb;
- unsigned char port;
- unsigned char station;
- unsigned char net;
- unsigned short num;
- };
- static inline struct econet_sock *ec_sk(const struct sock *sk)
- {
- return (struct econet_sock *)sk;
- }
- struct ec_device
- {
- unsigned char station, net; /* Econet protocol address */
- };
- #endif
- #endif