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