dn.h revision 96c1db7b9d601c31d103389cac074a6cce0d7633
1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _LINUX_DN_H
20#define _LINUX_DN_H
21#include <linux/ioctl.h>
22#include <linux/types.h>
23#include <linux/if_ether.h>
24#define DNPROTO_NSP 2
25#define DNPROTO_ROU 3
26#define DNPROTO_NML 4
27#define DNPROTO_EVL 5
28#define DNPROTO_EVR 6
29#define DNPROTO_NSPT 7
30#define DN_ADDL 2
31#define DN_MAXADDL 2
32#define DN_MAXOPTL 16
33#define DN_MAXOBJL 16
34#define DN_MAXACCL 40
35#define DN_MAXALIASL 128
36#define DN_MAXNODEL 256
37#define DNBUFSIZE 65023
38#define SO_CONDATA 1
39#define SO_CONACCESS 2
40#define SO_PROXYUSR 3
41#define SO_LINKINFO 7
42#define DSO_CONDATA 1
43#define DSO_DISDATA 10
44#define DSO_CONACCESS 2
45#define DSO_ACCEPTMODE 4
46#define DSO_CONACCEPT 5
47#define DSO_CONREJECT 6
48#define DSO_LINKINFO 7
49#define DSO_STREAM 8
50#define DSO_SEQPACKET 9
51#define DSO_MAXWINDOW 11
52#define DSO_NODELAY 12
53#define DSO_CORK 13
54#define DSO_SERVICES 14
55#define DSO_INFO 15
56#define DSO_MAX 15
57#define LL_INACTIVE 0
58#define LL_CONNECTING 1
59#define LL_RUNNING 2
60#define LL_DISCONNECTING 3
61#define ACC_IMMED 0
62#define ACC_DEFER 1
63#define SDF_WILD 1
64#define SDF_PROXY 2
65#define SDF_UICPROXY 4
66struct dn_naddr {
67  __le16 a_len;
68  __u8 a_addr[DN_MAXADDL];
69};
70struct sockaddr_dn {
71  __u16 sdn_family;
72  __u8 sdn_flags;
73  __u8 sdn_objnum;
74  __le16 sdn_objnamel;
75  __u8 sdn_objname[DN_MAXOBJL];
76  struct dn_naddr sdn_add;
77};
78#define sdn_nodeaddrl sdn_add.a_len
79#define sdn_nodeaddr sdn_add.a_addr
80struct optdata_dn {
81  __le16 opt_status;
82#define opt_sts opt_status
83  __le16 opt_optl;
84  __u8 opt_data[16];
85};
86struct accessdata_dn {
87  __u8 acc_accl;
88  __u8 acc_acc[DN_MAXACCL];
89  __u8 acc_passl;
90  __u8 acc_pass[DN_MAXACCL];
91  __u8 acc_userl;
92  __u8 acc_user[DN_MAXACCL];
93};
94struct linkinfo_dn {
95  __u16 idn_segsize;
96  __u8 idn_linkstate;
97};
98union etheraddress {
99  __u8 dne_addr[ETH_ALEN];
100  struct {
101    __u8 dne_hiord[4];
102    __u8 dne_nodeaddr[2];
103  } dne_remote;
104};
105struct dn_addr {
106  __le16 dna_family;
107  union etheraddress dna_netaddr;
108};
109#define DECNET_IOCTL_BASE 0x89
110#define SIOCSNETADDR _IOW(DECNET_IOCTL_BASE, 0xe0, struct dn_naddr)
111#define SIOCGNETADDR _IOR(DECNET_IOCTL_BASE, 0xe1, struct dn_naddr)
112#define OSIOCSNETADDR _IOW(DECNET_IOCTL_BASE, 0xe0, int)
113#define OSIOCGNETADDR _IOR(DECNET_IOCTL_BASE, 0xe1, int)
114#endif
115