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