1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/****************************************************************************
2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   This header was automatically generated from a Linux kernel header
5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   of the same name, to make information necessary for userspace to
6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   call into the kernel available to libc.  It contains only constants,
7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   structures, and macros generated from the original header, and thus,
8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   contains no copyrightable information.
9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   To edit the content of this header, modify the corresponding
11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   source file (e.g. under external/kernel-headers/original/) then
12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   run bionic/libc/kernel/tools/update_all.py
13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   Any manual change here will be lost the next time this script will
15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   be run. You've been warned!
16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/
19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _LINUX_DN_H
20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _LINUX_DN_H
2138062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#include <linux/ioctl.h>
22655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/types.h>
2338062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#include <linux/if_ether.h>
2438062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define DNPROTO_NSP 2
25655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DNPROTO_ROU 3
26655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DNPROTO_NML 4
27655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DNPROTO_EVL 5
28655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DNPROTO_EVR 6
29655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DNPROTO_NSPT 7
30655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DN_ADDL 2
31655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DN_MAXADDL 2
32655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DN_MAXOPTL 16
33655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DN_MAXOBJL 16
34655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DN_MAXACCL 40
35655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DN_MAXALIASL 128
36655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DN_MAXNODEL 256
37655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DNBUFSIZE 65023
38655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SO_CONDATA 1
39655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SO_CONACCESS 2
40655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SO_PROXYUSR 3
41655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SO_LINKINFO 7
42655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSO_CONDATA 1
43655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSO_DISDATA 10
44655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSO_CONACCESS 2
45655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSO_ACCEPTMODE 4
46655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSO_CONACCEPT 5
47655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSO_CONREJECT 6
48655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSO_LINKINFO 7
49655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSO_STREAM 8
50655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSO_SEQPACKET 9
51655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSO_MAXWINDOW 11
52655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSO_NODELAY 12
53655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSO_CORK 13
54655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSO_SERVICES 14
55655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSO_INFO 15
56655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSO_MAX 15
57655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define LL_INACTIVE 0
58655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define LL_CONNECTING 1
59655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define LL_RUNNING 2
60655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define LL_DISCONNECTING 3
61655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ACC_IMMED 0
62655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ACC_DEFER 1
63655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SDF_WILD 1
64655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SDF_PROXY 2
65655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SDF_UICPROXY 4
66655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct dn_naddr {
67d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __le16 a_len;
68d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 a_addr[DN_MAXADDL];
69655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
70655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct sockaddr_dn {
71d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u16 sdn_family;
72d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 sdn_flags;
73d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 sdn_objnum;
74d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __le16 sdn_objnamel;
75d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 sdn_objname[DN_MAXOBJL];
76d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct dn_naddr sdn_add;
77655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
78655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define sdn_nodeaddrl sdn_add.a_len
79655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define sdn_nodeaddr sdn_add.a_addr
80655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct optdata_dn {
81d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __le16 opt_status;
82655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define opt_sts opt_status
83d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __le16 opt_optl;
84d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 opt_data[16];
85655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
86655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct accessdata_dn {
87d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 acc_accl;
88d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 acc_acc[DN_MAXACCL];
89d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 acc_passl;
90d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 acc_pass[DN_MAXACCL];
91d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 acc_userl;
92d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 acc_user[DN_MAXACCL];
93655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
94655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct linkinfo_dn {
95d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u16 idn_segsize;
96d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 idn_linkstate;
97655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
98655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengunion etheraddress {
99d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 dne_addr[ETH_ALEN];
100d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct {
101d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    __u8 dne_hiord[4];
102d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    __u8 dne_nodeaddr[2];
103d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  } dne_remote;
104655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
105655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct dn_addr {
106d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __le16 dna_family;
107d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  union etheraddress dna_netaddr;
108655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
109655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DECNET_IOCTL_BASE 0x89
110655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOCSNETADDR _IOW(DECNET_IOCTL_BASE, 0xe0, struct dn_naddr)
111655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOCGNETADDR _IOR(DECNET_IOCTL_BASE, 0xe1, struct dn_naddr)
112655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define OSIOCSNETADDR _IOW(DECNET_IOCTL_BASE, 0xe0, int)
113655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define OSIOCGNETADDR _IOR(DECNET_IOCTL_BASE, 0xe1, int)
114655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
115