X7ROOT File Manager
Current Path:
/usr/include/linux
usr
/
include
/
linux
/
📁
..
📄
a.out.h
(7.15 KB)
📄
acct.h
(3.58 KB)
📄
adb.h
(1.05 KB)
📄
adfs_fs.h
(873 B)
📄
affs_hardblocks.h
(1.45 KB)
📄
agpgart.h
(3.83 KB)
📄
aio_abi.h
(3.1 KB)
📄
apm_bios.h
(3.46 KB)
📄
arcfb.h
(150 B)
📄
atalk.h
(960 B)
📄
atm.h
(7.64 KB)
📄
atm_eni.h
(585 B)
📄
atm_he.h
(343 B)
📄
atm_idt77105.h
(892 B)
📄
atm_nicstar.h
(1.19 KB)
📄
atm_tcp.h
(1.52 KB)
📄
atm_zatm.h
(1.57 KB)
📄
atmapi.h
(889 B)
📄
atmarp.h
(1.2 KB)
📄
atmbr2684.h
(3.13 KB)
📄
atmclip.h
(513 B)
📄
atmdev.h
(7.44 KB)
📄
atmioc.h
(1.55 KB)
📄
atmlec.h
(2.26 KB)
📄
atmmpc.h
(4.07 KB)
📄
atmppp.h
(576 B)
📄
atmsap.h
(4.79 KB)
📄
atmsvc.h
(1.75 KB)
📄
audit.h
(18.03 KB)
📄
auto_fs.h
(2.53 KB)
📄
auto_fs4.h
(4.3 KB)
📄
auxvec.h
(1.4 KB)
📄
ax25.h
(2.7 KB)
📄
b1lli.h
(1.62 KB)
📄
baycom.h
(820 B)
📄
bfs_fs.h
(1.79 KB)
📄
binfmts.h
(565 B)
📄
blkpg.h
(1.53 KB)
📄
blktrace_api.h
(4.38 KB)
📄
bpf.h
(22.04 KB)
📄
bpf_common.h
(1.2 KB)
📄
bpf_perf_event.h
(453 B)
📄
bpqether.h
(952 B)
📄
bsg.h
(2.37 KB)
📄
bt-bmc.h
(508 B)
📄
btrfs.h
(25.07 KB)
📁
byteorder
📁
caif
📁
can
📄
can.h
(5.46 KB)
📄
capability.h
(11.25 KB)
📄
capi.h
(2.99 KB)
📄
cciss_defs.h
(3.14 KB)
📄
cciss_ioctl.h
(2.63 KB)
📄
cdrom.h
(28.12 KB)
📄
cgroupstats.h
(2.1 KB)
📄
chio.h
(5.16 KB)
📄
cm4000_cs.h
(1.68 KB)
📄
cn_proc.h
(3.19 KB)
📄
coda.h
(17.09 KB)
📄
coda_psdev.h
(720 B)
📄
coff.h
(12.12 KB)
📄
connector.h
(2.14 KB)
📄
const.h
(673 B)
📄
cramfs_fs.h
(2.68 KB)
📄
cuda.h
(842 B)
📄
cyclades.h
(16.65 KB)
📄
cycx_cfm.h
(2.86 KB)
📄
dcbnl.h
(24.5 KB)
📄
dccp.h
(6.22 KB)
📄
devlink.h
(9.66 KB)
📄
dlm.h
(2.43 KB)
📄
dlm_device.h
(2.42 KB)
📄
dlm_netlink.h
(1.04 KB)
📄
dlm_plock.h
(831 B)
📄
dlmconstants.h
(4.9 KB)
📄
dm-ioctl.h
(10.55 KB)
📄
dm-log-userspace.h
(14.82 KB)
📄
dn.h
(4.42 KB)
📄
dqblk_xfs.h
(8.72 KB)
📁
dvb
📄
edd.h
(5.41 KB)
📄
efs_fs_sb.h
(2.11 KB)
📄
elf-em.h
(1.83 KB)
📄
elf-fdpic.h
(1.04 KB)
📄
elf.h
(12.69 KB)
📄
elfcore.h
(2.86 KB)
📄
errno.h
(23 B)
📄
errqueue.h
(1.1 KB)
📄
ethtool.h
(71.11 KB)
📄
eventpoll.h
(1.76 KB)
📄
fadvise.h
(779 B)
📄
falloc.h
(2.72 KB)
📄
fanotify.h
(3.52 KB)
📄
fb.h
(16 KB)
📄
fcntl.h
(2.16 KB)
📄
fd.h
(11.31 KB)
📄
fdreg.h
(5.23 KB)
📄
fib_rules.h
(1.58 KB)
📄
fiemap.h
(2.65 KB)
📄
filter.h
(1.99 KB)
📄
firewire-cdev.h
(42.86 KB)
📄
firewire-constants.h
(3.16 KB)
📄
flat.h
(2.04 KB)
📄
fou.h
(617 B)
📄
fs.h
(8.47 KB)
📄
fsl_hypervisor.h
(7.05 KB)
📄
fuse.h
(16.41 KB)
📄
futex.h
(4.81 KB)
📄
gameport.h
(834 B)
📄
gen_stats.h
(1.5 KB)
📄
genetlink.h
(1.82 KB)
📄
gfs2_ondisk.h
(12 KB)
📄
gigaset_dev.h
(1.35 KB)
📁
hdlc
📄
hdlc.h
(574 B)
📄
hdlcdrv.h
(2.78 KB)
📄
hdreg.h
(22.11 KB)
📄
hid.h
(1.79 KB)
📄
hiddev.h
(6.13 KB)
📄
hidraw.h
(1.41 KB)
📄
hpet.h
(680 B)
📁
hsi
📄
hw_breakpoint.h
(679 B)
📄
hyperv.h
(10.22 KB)
📄
hysdn_if.h
(1.29 KB)
📄
i2c-dev.h
(2.37 KB)
📄
i2c.h
(6.66 KB)
📄
i2o-dev.h
(11.22 KB)
📄
i8k.h
(1.4 KB)
📄
icmp.h
(2.82 KB)
📄
icmpv6.h
(3.82 KB)
📄
if.h
(9.26 KB)
📄
if_addr.h
(1.7 KB)
📄
if_addrlabel.h
(658 B)
📄
if_alg.h
(816 B)
📄
if_arcnet.h
(3.63 KB)
📄
if_arp.h
(6.3 KB)
📄
if_bonding.h
(4.66 KB)
📄
if_bridge.h
(6.46 KB)
📄
if_cablemodem.h
(922 B)
📄
if_eql.h
(1.26 KB)
📄
if_ether.h
(7.25 KB)
📄
if_fc.h
(1.63 KB)
📄
if_fddi.h
(3.6 KB)
📄
if_frad.h
(2.89 KB)
📄
if_hippi.h
(4.07 KB)
📄
if_infiniband.h
(1.13 KB)
📄
if_link.h
(19.58 KB)
📄
if_ltalk.h
(147 B)
📄
if_macsec.h
(5.42 KB)
📄
if_packet.h
(7.15 KB)
📄
if_phonet.h
(361 B)
📄
if_plip.h
(596 B)
📄
if_ppp.h
(29 B)
📄
if_pppol2tp.h
(3.18 KB)
📄
if_pppox.h
(4.64 KB)
📄
if_slip.h
(809 B)
📄
if_team.h
(2.48 KB)
📄
if_tun.h
(3.71 KB)
📄
if_tunnel.h
(3.03 KB)
📄
if_vlan.h
(1.69 KB)
📄
if_x25.h
(817 B)
📄
ife.h
(288 B)
📄
igmp.h
(2.88 KB)
📁
iio
📄
in.h
(9.36 KB)
📄
in6.h
(6.97 KB)
📄
in_route.h
(873 B)
📄
inet_diag.h
(2.77 KB)
📄
inotify.h
(2.85 KB)
📄
input.h
(32.52 KB)
📄
ioctl.h
(100 B)
📄
ip.h
(3.47 KB)
📄
ip6_tunnel.h
(1.67 KB)
📄
ip_vs.h
(12.77 KB)
📄
ipc.h
(1.99 KB)
📄
ipmi.h
(14.63 KB)
📄
ipmi_msgdefs.h
(3.21 KB)
📄
ipsec.h
(884 B)
📄
ipv6.h
(3.66 KB)
📄
ipv6_route.h
(1.73 KB)
📄
ipx.h
(1.79 KB)
📄
irda.h
(7.31 KB)
📄
irqnr.h
(104 B)
📁
isdn
📄
isdn.h
(5.58 KB)
📄
isdn_divertif.h
(1.11 KB)
📄
isdn_ppp.h
(1.82 KB)
📄
isdnif.h
(2.25 KB)
📄
iso_fs.h
(6.29 KB)
📄
ivtv.h
(2.89 KB)
📄
ivtvfb.h
(1.12 KB)
📄
ixjuser.h
(24.53 KB)
📄
jffs2.h
(6.85 KB)
📄
joystick.h
(3.5 KB)
📄
kd.h
(6.04 KB)
📄
kdev_t.h
(320 B)
📄
kernel-page-flags.h
(788 B)
📄
kernel.h
(375 B)
📄
kernelcapi.h
(956 B)
📄
kexec.h
(1.92 KB)
📄
keyboard.h
(12.42 KB)
📄
keyctl.h
(2.98 KB)
📄
kvm.h
(33.89 KB)
📄
kvm_para.h
(819 B)
📄
l2tp.h
(4.98 KB)
📄
libc-compat.h
(4.03 KB)
📄
limits.h
(874 B)
📄
llc.h
(2.98 KB)
📄
loop.h
(2.31 KB)
📄
lp.h
(3.72 KB)
📄
lwtunnel.h
(839 B)
📄
magic.h
(2.9 KB)
📄
major.h
(4.48 KB)
📄
map_to_7segment.h
(7.02 KB)
📄
matroxfb.h
(1.37 KB)
📄
mdio.h
(13.74 KB)
📄
media.h
(3.5 KB)
📄
mei.h
(4.62 KB)
📄
membarrier.h
(7.71 KB)
📄
memfd.h
(186 B)
📄
mempolicy.h
(2.35 KB)
📄
meye.h
(2.41 KB)
📄
mii.h
(7.76 KB)
📄
minix_fs.h
(2.01 KB)
📄
mman.h
(230 B)
📁
mmc
📄
mmtimer.h
(2.01 KB)
📄
mpls.h
(1.33 KB)
📄
mqueue.h
(2.01 KB)
📄
mroute.h
(4.06 KB)
📄
mroute6.h
(4.08 KB)
📄
msdos_fs.h
(6.28 KB)
📄
msg.h
(3.21 KB)
📄
mtio.h
(7.92 KB)
📄
n_r3964.h
(2.29 KB)
📄
nbd.h
(2.34 KB)
📄
ncp.h
(4.94 KB)
📄
ncp_fs.h
(3.27 KB)
📄
ncp_mount.h
(2.06 KB)
📄
ncp_no.h
(651 B)
📄
ndctl.h
(6.6 KB)
📄
neighbour.h
(4.17 KB)
📄
net.h
(1.97 KB)
📄
net_dropmon.h
(1.07 KB)
📄
net_namespace.h
(609 B)
📄
net_tstamp.h
(4.06 KB)
📄
netconf.h
(423 B)
📄
netdevice.h
(1.46 KB)
📁
netfilter
📄
netfilter.h
(1.6 KB)
📁
netfilter_arp
📄
netfilter_arp.h
(380 B)
📁
netfilter_bridge
📄
netfilter_bridge.h
(768 B)
📄
netfilter_decnet.h
(1.83 KB)
📁
netfilter_ipv4
📄
netfilter_ipv4.h
(2.02 KB)
📁
netfilter_ipv6
📄
netfilter_ipv6.h
(2.04 KB)
📄
netlink.h
(6.13 KB)
📄
netlink_diag.h
(1005 B)
📄
netrom.h
(744 B)
📄
nfc.h
(7.72 KB)
📄
nfs.h
(4.31 KB)
📄
nfs2.h
(1.37 KB)
📄
nfs3.h
(2.24 KB)
📄
nfs4.h
(5.95 KB)
📄
nfs4_mount.h
(1.83 KB)
📄
nfs_fs.h
(1.51 KB)
📄
nfs_idmap.h
(2.19 KB)
📄
nfs_mount.h
(2.32 KB)
📄
nfsacl.h
(605 B)
📁
nfsd
📄
nl80211.h
(270.89 KB)
📄
nubus.h
(8.17 KB)
📄
nvme_ioctl.h
(1.55 KB)
📄
nvram.h
(469 B)
📄
omap3isp.h
(20.19 KB)
📄
omapfb.h
(5.72 KB)
📄
oom.h
(448 B)
📄
openvswitch.h
(31.79 KB)
📄
packet_diag.h
(1.5 KB)
📄
param.h
(78 B)
📄
parport.h
(3.56 KB)
📄
patchkey.h
(829 B)
📄
pci.h
(1.29 KB)
📄
pci_regs.h
(50.79 KB)
📄
perf_event.h
(31.96 KB)
📄
personality.h
(1.99 KB)
📄
pfkeyv2.h
(9.91 KB)
📄
pg.h
(2.23 KB)
📄
phantom.h
(1.55 KB)
📄
phonet.h
(4.51 KB)
📄
pkt_cls.h
(12.49 KB)
📄
pkt_sched.h
(20.63 KB)
📄
pktcdvd.h
(2.56 KB)
📄
pmu.h
(5.13 KB)
📄
poll.h
(22 B)
📄
posix_types.h
(1.01 KB)
📄
ppdev.h
(3.07 KB)
📄
ppp-comp.h
(2.41 KB)
📄
ppp-ioctl.h
(5.29 KB)
📄
ppp_defs.h
(4.93 KB)
📄
pps.h
(4.06 KB)
📄
prctl.h
(6.75 KB)
📄
psample.h
(735 B)
📄
ptp_clock.h
(5.09 KB)
📄
ptrace.h
(3.08 KB)
📄
qnx4_fs.h
(2.21 KB)
📄
qnxtypes.h
(561 B)
📄
quota.h
(5.78 KB)
📄
radeonfb.h
(297 B)
📁
raid
📄
random.h
(1.2 KB)
📄
raw.h
(302 B)
📄
rds.h
(7.9 KB)
📄
reboot.h
(1.25 KB)
📄
reiserfs_fs.h
(712 B)
📄
reiserfs_xattr.h
(470 B)
📄
resource.h
(2.09 KB)
📄
rfkill.h
(3.5 KB)
📄
romfs_fs.h
(1.15 KB)
📄
rose.h
(2.12 KB)
📄
route.h
(2.21 KB)
📄
rtc.h
(3.85 KB)
📄
rtnetlink.h
(17.02 KB)
📄
scc.h
(4.43 KB)
📄
sched.h
(2.26 KB)
📄
screen_info.h
(2.36 KB)
📄
sctp.h
(29.53 KB)
📄
sdla.h
(2.71 KB)
📄
seccomp.h
(1.83 KB)
📄
securebits.h
(2.58 KB)
📄
selinux_netlink.h
(1.11 KB)
📄
sem.h
(2.54 KB)
📄
serial.h
(3.04 KB)
📄
serial_core.h
(5.11 KB)
📄
serial_reg.h
(15.66 KB)
📄
serio.h
(1.81 KB)
📄
shm.h
(2.19 KB)
📄
signal.h
(171 B)
📄
signalfd.h
(1.07 KB)
📄
snmp.h
(12.42 KB)
📄
sock_diag.h
(431 B)
📄
socket.h
(738 B)
📄
sockios.h
(5.83 KB)
📄
som.h
(5.35 KB)
📄
sonet.h
(2.17 KB)
📄
sonypi.h
(5.12 KB)
📄
sound.h
(1.15 KB)
📄
soundcard.h
(44.96 KB)
📁
spi
📄
stat.h
(1 KB)
📄
stddef.h
(1 B)
📄
string.h
(175 B)
📁
sunrpc
📄
suspend_ioctls.h
(1.34 KB)
📄
swab.h
(6.36 KB)
📄
synclink.h
(8.71 KB)
📄
sysctl.h
(25.46 KB)
📄
sysinfo.h
(986 B)
📄
target_core_user.h
(3.65 KB)
📄
taskstats.h
(6.83 KB)
📁
tc_act
📁
tc_ematch
📄
tcp.h
(5.93 KB)
📄
tcp_metrics.h
(1.45 KB)
📄
telephony.h
(8.84 KB)
📄
termios.h
(443 B)
📄
time.h
(1.54 KB)
📄
times.h
(215 B)
📄
timex.h
(6.17 KB)
📄
tiocl.h
(1.63 KB)
📄
tipc.h
(5.44 KB)
📄
tipc_config.h
(14.1 KB)
📄
toshiba.h
(1.24 KB)
📄
tty.h
(1.33 KB)
📄
tty_flags.h
(3.66 KB)
📄
types.h
(1.4 KB)
📄
udf_fs_i.h
(634 B)
📄
udp.h
(1.28 KB)
📄
uhid.h
(2.15 KB)
📄
uinput.h
(5 KB)
📄
uio.h
(668 B)
📄
ultrasound.h
(4.39 KB)
📄
un.h
(239 B)
📄
unistd.h
(157 B)
📄
unix_diag.h
(1.1 KB)
📁
usb
📄
usbdevice_fs.h
(6.78 KB)
📄
userfaultfd.h
(6.59 KB)
📄
utime.h
(152 B)
📄
utsname.h
(606 B)
📄
uuid.h
(1.5 KB)
📄
uvcvideo.h
(1.6 KB)
📄
v4l2-common.h
(2.38 KB)
📄
v4l2-controls.h
(37.34 KB)
📄
v4l2-dv-timings.h
(25.75 KB)
📄
v4l2-mediabus.h
(4.55 KB)
📄
v4l2-subdev.h
(5.27 KB)
📄
version.h
(332 B)
📄
veth.h
(161 B)
📄
vfio.h
(26.54 KB)
📄
vhost.h
(7.13 KB)
📄
videodev2.h
(67.36 KB)
📄
virtio_9p.h
(1.99 KB)
📄
virtio_balloon.h
(3.71 KB)
📄
virtio_blk.h
(5.2 KB)
📄
virtio_config.h
(3.34 KB)
📄
virtio_console.h
(2.94 KB)
📄
virtio_gpu.h
(8.23 KB)
📄
virtio_ids.h
(2.32 KB)
📄
virtio_input.h
(2.45 KB)
📄
virtio_net.h
(9.5 KB)
📄
virtio_pci.h
(6.63 KB)
📄
virtio_ring.h
(6.18 KB)
📄
virtio_rng.h
(265 B)
📄
virtio_scsi.h
(5.13 KB)
📄
virtio_types.h
(2.11 KB)
📄
virtio_vsock.h
(3.01 KB)
📄
vm_sockets.h
(5.13 KB)
📄
vsockmon.h
(1.78 KB)
📄
vt.h
(2.98 KB)
📄
vtpm_proxy.h
(1.62 KB)
📄
wait.h
(600 B)
📄
wanrouter.h
(390 B)
📄
watchdog.h
(2.22 KB)
📁
wimax
📄
wimax.h
(8.17 KB)
📄
wireless.h
(41.65 KB)
📄
wmi.h
(1.84 KB)
📄
x25.h
(3.42 KB)
📄
xattr.h
(2.53 KB)
📄
xfrm.h
(11 KB)
Editing: tipc_config.h
/* * include/linux/tipc_config.h: Include file for TIPC configuration interface * * Copyright (c) 2003-2006, Ericsson AB * Copyright (c) 2005-2007, 2010-2011, Wind River Systems * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the names of the copyright holders nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * Alternatively, this software may be distributed under the terms of the * GNU General Public License ("GPL") version 2 as published by the Free * Software Foundation. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #ifndef _LINUX_TIPC_CONFIG_H_ #define _LINUX_TIPC_CONFIG_H_ #include <linux/types.h> #include <linux/string.h> #include <asm/byteorder.h> #include <arpa/inet.h> /* for ntohs etc. */ /* * Configuration * * All configuration management messaging involves sending a request message * to the TIPC configuration service on a node, which sends a reply message * back. (In the future multi-message replies may be supported.) * * Both request and reply messages consist of a transport header and payload. * The transport header contains info about the desired operation; * the payload consists of zero or more type/length/value (TLV) items * which specify parameters or results for the operation. * * For many operations, the request and reply messages have a fixed number * of TLVs (usually zero or one); however, some reply messages may return * a variable number of TLVs. A failed request is denoted by the presence * of an "error string" TLV in the reply message instead of the TLV(s) the * reply should contain if the request succeeds. */ /* * Public commands: * May be issued by any process. * Accepted by own node, or by remote node only if remote management enabled. */ #define TIPC_CMD_NOOP 0x0000 /* tx none, rx none */ #define TIPC_CMD_GET_NODES 0x0001 /* tx net_addr, rx node_info(s) */ #define TIPC_CMD_GET_MEDIA_NAMES 0x0002 /* tx none, rx media_name(s) */ #define TIPC_CMD_GET_BEARER_NAMES 0x0003 /* tx none, rx bearer_name(s) */ #define TIPC_CMD_GET_LINKS 0x0004 /* tx net_addr, rx link_info(s) */ #define TIPC_CMD_SHOW_NAME_TABLE 0x0005 /* tx name_tbl_query, rx ultra_string */ #define TIPC_CMD_SHOW_PORTS 0x0006 /* tx none, rx ultra_string */ #define TIPC_CMD_SHOW_LINK_STATS 0x000B /* tx link_name, rx ultra_string */ #define TIPC_CMD_SHOW_STATS 0x000F /* tx unsigned, rx ultra_string */ /* * Protected commands: * May only be issued by "network administration capable" process. * Accepted by own node, or by remote node only if remote management enabled * and this node is zone manager. */ #define TIPC_CMD_GET_REMOTE_MNG 0x4003 /* tx none, rx unsigned */ #define TIPC_CMD_GET_MAX_PORTS 0x4004 /* tx none, rx unsigned */ #define TIPC_CMD_GET_MAX_PUBL 0x4005 /* obsoleted */ #define TIPC_CMD_GET_MAX_SUBSCR 0x4006 /* obsoleted */ #define TIPC_CMD_GET_MAX_ZONES 0x4007 /* obsoleted */ #define TIPC_CMD_GET_MAX_CLUSTERS 0x4008 /* obsoleted */ #define TIPC_CMD_GET_MAX_NODES 0x4009 /* obsoleted */ #define TIPC_CMD_GET_MAX_SLAVES 0x400A /* obsoleted */ #define TIPC_CMD_GET_NETID 0x400B /* tx none, rx unsigned */ #define TIPC_CMD_ENABLE_BEARER 0x4101 /* tx bearer_config, rx none */ #define TIPC_CMD_DISABLE_BEARER 0x4102 /* tx bearer_name, rx none */ #define TIPC_CMD_SET_LINK_TOL 0x4107 /* tx link_config, rx none */ #define TIPC_CMD_SET_LINK_PRI 0x4108 /* tx link_config, rx none */ #define TIPC_CMD_SET_LINK_WINDOW 0x4109 /* tx link_config, rx none */ #define TIPC_CMD_SET_LOG_SIZE 0x410A /* obsoleted */ #define TIPC_CMD_DUMP_LOG 0x410B /* obsoleted */ #define TIPC_CMD_RESET_LINK_STATS 0x410C /* tx link_name, rx none */ /* * Private commands: * May only be issued by "network administration capable" process. * Accepted by own node only; cannot be used on a remote node. */ #define TIPC_CMD_SET_NODE_ADDR 0x8001 /* tx net_addr, rx none */ #define TIPC_CMD_SET_REMOTE_MNG 0x8003 /* tx unsigned, rx none */ #define TIPC_CMD_SET_MAX_PORTS 0x8004 /* tx unsigned, rx none */ #define TIPC_CMD_SET_MAX_PUBL 0x8005 /* obsoleted */ #define TIPC_CMD_SET_MAX_SUBSCR 0x8006 /* obsoleted */ #define TIPC_CMD_SET_MAX_ZONES 0x8007 /* obsoleted */ #define TIPC_CMD_SET_MAX_CLUSTERS 0x8008 /* obsoleted */ #define TIPC_CMD_SET_MAX_NODES 0x8009 /* obsoleted */ #define TIPC_CMD_SET_MAX_SLAVES 0x800A /* obsoleted */ #define TIPC_CMD_SET_NETID 0x800B /* tx unsigned, rx none */ /* * Reserved commands: * May not be issued by any process. * Used internally by TIPC. */ #define TIPC_CMD_NOT_NET_ADMIN 0xC001 /* tx none, rx none */ /* * TLV types defined for TIPC */ #define TIPC_TLV_NONE 0 /* no TLV present */ #define TIPC_TLV_VOID 1 /* empty TLV (0 data bytes)*/ #define TIPC_TLV_UNSIGNED 2 /* 32-bit integer */ #define TIPC_TLV_STRING 3 /* char[128] (max) */ #define TIPC_TLV_LARGE_STRING 4 /* char[2048] (max) */ #define TIPC_TLV_ULTRA_STRING 5 /* char[32768] (max) */ #define TIPC_TLV_ERROR_STRING 16 /* char[128] containing "error code" */ #define TIPC_TLV_NET_ADDR 17 /* 32-bit integer denoting <Z.C.N> */ #define TIPC_TLV_MEDIA_NAME 18 /* char[TIPC_MAX_MEDIA_NAME] */ #define TIPC_TLV_BEARER_NAME 19 /* char[TIPC_MAX_BEARER_NAME] */ #define TIPC_TLV_LINK_NAME 20 /* char[TIPC_MAX_LINK_NAME] */ #define TIPC_TLV_NODE_INFO 21 /* struct tipc_node_info */ #define TIPC_TLV_LINK_INFO 22 /* struct tipc_link_info */ #define TIPC_TLV_BEARER_CONFIG 23 /* struct tipc_bearer_config */ #define TIPC_TLV_LINK_CONFIG 24 /* struct tipc_link_config */ #define TIPC_TLV_NAME_TBL_QUERY 25 /* struct tipc_name_table_query */ #define TIPC_TLV_PORT_REF 26 /* 32-bit port reference */ /* * Maximum sizes of TIPC bearer-related names (including terminating NUL) */ #define TIPC_MAX_MEDIA_NAME 16 /* format = media */ #define TIPC_MAX_IF_NAME 16 /* format = interface */ #define TIPC_MAX_BEARER_NAME 32 /* format = media:interface */ #define TIPC_MAX_LINK_NAME 60 /* format = Z.C.N:interface-Z.C.N:interface */ /* * Link priority limits (min, default, max, media default) */ #define TIPC_MIN_LINK_PRI 0 #define TIPC_DEF_LINK_PRI 10 #define TIPC_MAX_LINK_PRI 31 #define TIPC_MEDIA_LINK_PRI (TIPC_MAX_LINK_PRI + 1) /* * Link tolerance limits (min, default, max), in ms */ #define TIPC_MIN_LINK_TOL 50 #define TIPC_DEF_LINK_TOL 1500 #define TIPC_MAX_LINK_TOL 30000 #if (TIPC_MIN_LINK_TOL < 16) #error "TIPC_MIN_LINK_TOL is too small (abort limit may be NaN)" #endif /* * Link window limits (min, default, max), in packets */ #define TIPC_MIN_LINK_WIN 16 #define TIPC_DEF_LINK_WIN 50 #define TIPC_MAX_LINK_WIN 150 struct tipc_node_info { __be32 addr; /* network address of node */ __be32 up; /* 0=down, 1= up */ }; struct tipc_link_info { __be32 dest; /* network address of peer node */ __be32 up; /* 0=down, 1=up */ char str[TIPC_MAX_LINK_NAME]; /* link name */ }; struct tipc_bearer_config { __be32 priority; /* Range [1,31]. Override per link */ __be32 disc_domain; /* <Z.C.N> describing desired nodes */ char name[TIPC_MAX_BEARER_NAME]; }; struct tipc_link_config { __be32 value; char name[TIPC_MAX_LINK_NAME]; }; #define TIPC_NTQ_ALLTYPES 0x80000000 struct tipc_name_table_query { __be32 depth; /* 1:type, 2:+name info, 3:+port info, 4+:+debug info */ __be32 type; /* {t,l,u} info ignored if high bit of "depth" is set */ __be32 lowbound; /* (i.e. displays all entries of name table) */ __be32 upbound; }; /* * The error string TLV is a null-terminated string describing the cause * of the request failure. To simplify error processing (and to save space) * the first character of the string can be a special error code character * (lying by the range 0x80 to 0xFF) which represents a pre-defined reason. */ #define TIPC_CFG_TLV_ERROR "\x80" /* request contains incorrect TLV(s) */ #define TIPC_CFG_NOT_NET_ADMIN "\x81" /* must be network administrator */ #define TIPC_CFG_NOT_ZONE_MSTR "\x82" /* must be zone master */ #define TIPC_CFG_NO_REMOTE "\x83" /* remote management not enabled */ #define TIPC_CFG_NOT_SUPPORTED "\x84" /* request is not supported by TIPC */ #define TIPC_CFG_INVALID_VALUE "\x85" /* request has invalid argument value */ /* * A TLV consists of a descriptor, followed by the TLV value. * TLV descriptor fields are stored in network byte order; * TLV values must also be stored in network byte order (where applicable). * TLV descriptors must be aligned to addresses which are multiple of 4, * so up to 3 bytes of padding may exist at the end of the TLV value area. * There must not be any padding between the TLV descriptor and its value. */ struct tlv_desc { __be16 tlv_len; /* TLV length (descriptor + value) */ __be16 tlv_type; /* TLV identifier */ }; #define TLV_ALIGNTO 4 #define TLV_ALIGN(datalen) (((datalen)+(TLV_ALIGNTO-1)) & ~(TLV_ALIGNTO-1)) #define TLV_LENGTH(datalen) (sizeof(struct tlv_desc) + (datalen)) #define TLV_SPACE(datalen) (TLV_ALIGN(TLV_LENGTH(datalen))) #define TLV_DATA(tlv) ((void *)((char *)(tlv) + TLV_LENGTH(0))) static __inline__ int TLV_OK(const void *tlv, __u16 space) { /* * Would also like to check that "tlv" is a multiple of 4, * but don't know how to do this in a portable way. * - Tried doing (!(tlv & (TLV_ALIGNTO-1))), but GCC compiler * won't allow binary "&" with a pointer. * - Tried casting "tlv" to integer type, but causes warning about size * mismatch when pointer is bigger than chosen type (int, long, ...). */ return (space >= TLV_SPACE(0)) && (ntohs(((struct tlv_desc *)tlv)->tlv_len) <= space); } static __inline__ int TLV_CHECK(const void *tlv, __u16 space, __u16 exp_type) { return TLV_OK(tlv, space) && (ntohs(((struct tlv_desc *)tlv)->tlv_type) == exp_type); } static __inline__ int TLV_SET(void *tlv, __u16 type, void *data, __u16 len) { struct tlv_desc *tlv_ptr; int tlv_len; tlv_len = TLV_LENGTH(len); tlv_ptr = (struct tlv_desc *)tlv; tlv_ptr->tlv_type = htons(type); tlv_ptr->tlv_len = htons(tlv_len); if (len && data) memcpy(TLV_DATA(tlv_ptr), data, tlv_len); return TLV_SPACE(len); } /* * A TLV list descriptor simplifies processing of messages * containing multiple TLVs. */ struct tlv_list_desc { struct tlv_desc *tlv_ptr; /* ptr to current TLV */ __u32 tlv_space; /* # bytes from curr TLV to list end */ }; static __inline__ void TLV_LIST_INIT(struct tlv_list_desc *list, void *data, __u32 space) { list->tlv_ptr = (struct tlv_desc *)data; list->tlv_space = space; } static __inline__ int TLV_LIST_EMPTY(struct tlv_list_desc *list) { return (list->tlv_space == 0); } static __inline__ int TLV_LIST_CHECK(struct tlv_list_desc *list, __u16 exp_type) { return TLV_CHECK(list->tlv_ptr, list->tlv_space, exp_type); } static __inline__ void *TLV_LIST_DATA(struct tlv_list_desc *list) { return TLV_DATA(list->tlv_ptr); } static __inline__ void TLV_LIST_STEP(struct tlv_list_desc *list) { __u16 tlv_space = TLV_ALIGN(ntohs(list->tlv_ptr->tlv_len)); list->tlv_ptr = (struct tlv_desc *)((char *)list->tlv_ptr + tlv_space); list->tlv_space -= tlv_space; } /* * Configuration messages exchanged via NETLINK_GENERIC use the following * family id, name, version and command. */ #define TIPC_GENL_NAME "TIPC" #define TIPC_GENL_VERSION 0x1 #define TIPC_GENL_CMD 0x1 /* * TIPC specific header used in NETLINK_GENERIC requests. */ struct tipc_genlmsghdr { __u32 dest; /* Destination address */ __u16 cmd; /* Command */ __u16 reserved; /* Unused */ }; #define TIPC_GENL_HDRLEN NLMSG_ALIGN(sizeof(struct tipc_genlmsghdr)) /* * Configuration messages exchanged via TIPC sockets use the TIPC configuration * message header, which is defined below. This structure is analogous * to the Netlink message header, but fields are stored in network byte order * and no padding is permitted between the header and the message data * that follows. */ struct tipc_cfg_msg_hdr { __be32 tcm_len; /* Message length (including header) */ __be16 tcm_type; /* Command type */ __be16 tcm_flags; /* Additional flags */ char tcm_reserved[8]; /* Unused */ }; #define TCM_F_REQUEST 0x1 /* Flag: Request message */ #define TCM_F_MORE 0x2 /* Flag: Message to be continued */ #define TCM_ALIGN(datalen) (((datalen)+3) & ~3) #define TCM_LENGTH(datalen) (sizeof(struct tipc_cfg_msg_hdr) + datalen) #define TCM_SPACE(datalen) (TCM_ALIGN(TCM_LENGTH(datalen))) #define TCM_DATA(tcm_hdr) ((void *)((char *)(tcm_hdr) + TCM_LENGTH(0))) static __inline__ int TCM_SET(void *msg, __u16 cmd, __u16 flags, void *data, __u16 data_len) { struct tipc_cfg_msg_hdr *tcm_hdr; int msg_len; msg_len = TCM_LENGTH(data_len); tcm_hdr = (struct tipc_cfg_msg_hdr *)msg; tcm_hdr->tcm_len = htonl(msg_len); tcm_hdr->tcm_type = htons(cmd); tcm_hdr->tcm_flags = htons(flags); if (data_len && data) memcpy(TCM_DATA(msg), data, data_len); return TCM_SPACE(data_len); } #endif
Upload File
Create Folder