PATH:
usr
/
include
/
linux
/** * file phonet.h * * Phonet sockets kernel interface * * Copyright (C) 2008 Nokia Corporation. All rights reserved. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA */ #ifndef LINUX_PHONET_H #define LINUX_PHONET_H #include <linux/types.h> #include <linux/socket.h> /* Automatic protocol selection */ #define PN_PROTO_TRANSPORT 0 /* Phonet datagram socket */ #define PN_PROTO_PHONET 1 /* Phonet pipe */ #define PN_PROTO_PIPE 2 #define PHONET_NPROTO 3 /* Socket options for SOL_PNPIPE level */ #define PNPIPE_ENCAP 1 #define PNPIPE_IFINDEX 2 #define PNPIPE_HANDLE 3 #define PNPIPE_INITSTATE 4 #define PNADDR_ANY 0 #define PNADDR_BROADCAST 0xFC #define PNPORT_RESOURCE_ROUTING 0 /* Values for PNPIPE_ENCAP option */ #define PNPIPE_ENCAP_NONE 0 #define PNPIPE_ENCAP_IP 1 /* ioctls */ #define SIOCPNGETOBJECT (SIOCPROTOPRIVATE + 0) #define SIOCPNENABLEPIPE (SIOCPROTOPRIVATE + 13) #define SIOCPNADDRESOURCE (SIOCPROTOPRIVATE + 14) #define SIOCPNDELRESOURCE (SIOCPROTOPRIVATE + 15) /* Phonet protocol header */ struct phonethdr { __u8 pn_rdev; __u8 pn_sdev; __u8 pn_res; __be16 pn_length; __u8 pn_robj; __u8 pn_sobj; } __attribute__((packed)); /* Common Phonet payload header */ struct phonetmsg { __u8 pn_trans_id; /* transaction ID */ __u8 pn_msg_id; /* message type */ union { struct { __u8 pn_submsg_id; /* message subtype */ __u8 pn_data[5]; } base; struct { __u16 pn_e_res_id; /* extended resource ID */ __u8 pn_e_submsg_id; /* message subtype */ __u8 pn_e_data[3]; } ext; } pn_msg_u; }; #define PN_COMMON_MESSAGE 0xF0 #define PN_COMMGR 0x10 #define PN_PREFIX 0xE0 /* resource for extended messages */ #define pn_submsg_id pn_msg_u.base.pn_submsg_id #define pn_e_submsg_id pn_msg_u.ext.pn_e_submsg_id #define pn_e_res_id pn_msg_u.ext.pn_e_res_id #define pn_data pn_msg_u.base.pn_data #define pn_e_data pn_msg_u.ext.pn_e_data /* data for unreachable errors */ #define PN_COMM_SERVICE_NOT_IDENTIFIED_RESP 0x01 #define PN_COMM_ISA_ENTITY_NOT_REACHABLE_RESP 0x14 #define pn_orig_msg_id pn_data[0] #define pn_status pn_data[1] #define pn_e_orig_msg_id pn_e_data[0] #define pn_e_status pn_e_data[1] /* Phonet socket address structure */ struct sockaddr_pn { __kernel_sa_family_t spn_family; __u8 spn_obj; __u8 spn_dev; __u8 spn_resource; __u8 spn_zero[sizeof(struct sockaddr) - sizeof(__kernel_sa_family_t) - 3]; } __attribute__((packed)); /* Well known address */ #define PN_DEV_PC 0x10 static __inline__ __u16 pn_object(__u8 addr, __u16 port) { return (addr << 8) | (port & 0x3ff); } static __inline__ __u8 pn_obj(__u16 handle) { return handle & 0xff; } static __inline__ __u8 pn_dev(__u16 handle) { return handle >> 8; } static __inline__ __u16 pn_port(__u16 handle) { return handle & 0x3ff; } static __inline__ __u8 pn_addr(__u16 handle) { return (handle >> 8) & 0xfc; } static __inline__ void pn_sockaddr_set_addr(struct sockaddr_pn *spn, __u8 addr) { spn->spn_dev &= 0x03; spn->spn_dev |= addr & 0xfc; } static __inline__ void pn_sockaddr_set_port(struct sockaddr_pn *spn, __u16 port) { spn->spn_dev &= 0xfc; spn->spn_dev |= (port >> 8) & 0x03; spn->spn_obj = port & 0xff; } static __inline__ void pn_sockaddr_set_object(struct sockaddr_pn *spn, __u16 handle) { spn->spn_dev = pn_dev(handle); spn->spn_obj = pn_obj(handle); } static __inline__ void pn_sockaddr_set_resource(struct sockaddr_pn *spn, __u8 resource) { spn->spn_resource = resource; } static __inline__ __u8 pn_sockaddr_get_addr(const struct sockaddr_pn *spn) { return spn->spn_dev & 0xfc; } static __inline__ __u16 pn_sockaddr_get_port(const struct sockaddr_pn *spn) { return ((spn->spn_dev & 0x03) << 8) | spn->spn_obj; } static __inline__ __u16 pn_sockaddr_get_object(const struct sockaddr_pn *spn) { return pn_object(spn->spn_dev, spn->spn_obj); } static __inline__ __u8 pn_sockaddr_get_resource(const struct sockaddr_pn *spn) { return spn->spn_resource; } /* Phonet device ioctl requests */ #endif /* LINUX_PHONET_H */
[+]
..
[-] sysinfo.h
[edit]
[-] mroute.h
[edit]
[-] if_eql.h
[edit]
[-] serial_core.h
[edit]
[-] membarrier.h
[edit]
[-] sched.h
[edit]
[-] mei.h
[edit]
[-] bfs_fs.h
[edit]
[-] atmlec.h
[edit]
[-] v4l2-mediabus.h
[edit]
[-] videodev2.h
[edit]
[-] screen_info.h
[edit]
[-] if_slip.h
[edit]
[-] uuid.h
[edit]
[-] version.h
[edit]
[-] ipv6_route.h
[edit]
[-] ixjuser.h
[edit]
[-] pkt_cls.h
[edit]
[-] atm_he.h
[edit]
[-] raw.h
[edit]
[-] msdos_fs.h
[edit]
[-] mman.h
[edit]
[-] aio_abi.h
[edit]
[-] reboot.h
[edit]
[-] snmp.h
[edit]
[-] atm_eni.h
[edit]
[-] netfilter_bridge.h
[edit]
[-] patchkey.h
[edit]
[-] string.h
[edit]
[-] socket.h
[edit]
[+]
spi
[-] auxvec.h
[edit]
[-] sockios.h
[edit]
[-] keyboard.h
[edit]
[-] scc.h
[edit]
[-] dn.h
[edit]
[-] unistd.h
[edit]
[-] oom.h
[edit]
[-] pkt_sched.h
[edit]
[-] if_phonet.h
[edit]
[+]
byteorder
[-] if_arcnet.h
[edit]
[+]
caif
[-] fd.h
[edit]
[-] radeonfb.h
[edit]
[-] qnx4_fs.h
[edit]
[-] nfs2.h
[edit]
[-] magic.h
[edit]
[-] target_core_user.h
[edit]
[-] atm_zatm.h
[edit]
[-] pci.h
[edit]
[-] nfsacl.h
[edit]
[-] if_packet.h
[edit]
[-] arcfb.h
[edit]
[-] nfs_mount.h
[edit]
[-] fib_rules.h
[edit]
[-] atmsap.h
[edit]
[+]
dvb
[-] cciss_defs.h
[edit]
[+]
netfilter_ipv6
[-] atmdev.h
[edit]
[-] kexec.h
[edit]
[-] ipc.h
[edit]
[-] sock_diag.h
[edit]
[+]
wimax
[-] serial.h
[edit]
[-] if_link.h
[edit]
[-] route.h
[edit]
[-] if_bonding.h
[edit]
[-] auto_fs.h
[edit]
[-] pg.h
[edit]
[-] l2tp.h
[edit]
[-] perf_event.h
[edit]
[-] tcp_metrics.h
[edit]
[-] v4l2-controls.h
[edit]
[-] personality.h
[edit]
[-] dcbnl.h
[edit]
[-] netfilter_arp.h
[edit]
[-] toshiba.h
[edit]
[-] memfd.h
[edit]
[-] resource.h
[edit]
[-] tipc.h
[edit]
[-] virtio_vsock.h
[edit]
[-] atm_tcp.h
[edit]
[-] cn_proc.h
[edit]
[-] utime.h
[edit]
[-] nbd.h
[edit]
[-] netfilter_ipv6.h
[edit]
[-] meye.h
[edit]
[-] gfs2_ondisk.h
[edit]
[-] som.h
[edit]
[-] ncp_mount.h
[edit]
[-] coda.h
[edit]
[-] hw_breakpoint.h
[edit]
[-] shm.h
[edit]
[-] wanrouter.h
[edit]
[-] kernel-page-flags.h
[edit]
[-] auto_fs4.h
[edit]
[-] ppp_defs.h
[edit]
[-] tty.h
[edit]
[-] sysctl.h
[edit]
[-] joystick.h
[edit]
[-] ip.h
[edit]
[-] jffs2.h
[edit]
[-] nfs3.h
[edit]
[-] if_infiniband.h
[edit]
[-] agpgart.h
[edit]
[+]
raid
[-] blkpg.h
[edit]
[-] virtio_ids.h
[edit]
[-] udp.h
[edit]
[-] swab.h
[edit]
[-] romfs_fs.h
[edit]
[-] fb.h
[edit]
[-] kvm_para.h
[edit]
[-] btrfs.h
[edit]
[-] efs_fs_sb.h
[edit]
[-] xfrm.h
[edit]
[-] iso_fs.h
[edit]
[-] serial_reg.h
[edit]
[-] virtio_gpu.h
[edit]
[-] sound.h
[edit]
[-] errno.h
[edit]
[-] kernelcapi.h
[edit]
[-] net_tstamp.h
[edit]
[-] isdnif.h
[edit]
[-] hiddev.h
[edit]
[-] ncp_fs.h
[edit]
[-] hdlc.h
[edit]
[-] fcntl.h
[edit]
[-] if.h
[edit]
[-] minix_fs.h
[edit]
[-] hdreg.h
[edit]
[-] virtio_9p.h
[edit]
[-] coff.h
[edit]
[-] elf-em.h
[edit]
[-] mqueue.h
[edit]
[+]
tc_ematch
[-] gameport.h
[edit]
[-] if_ether.h
[edit]
[-] if_addrlabel.h
[edit]
[-] ife.h
[edit]
[-] isdn_divertif.h
[edit]
[-] rds.h
[edit]
[-] fdreg.h
[edit]
[-] pmu.h
[edit]
[-] cuda.h
[edit]
[-] stat.h
[edit]
[-] virtio_net.h
[edit]
[-] posix_types.h
[edit]
[-] cyclades.h
[edit]
[-] baycom.h
[edit]
[-] ipv6.h
[edit]
[-] net_dropmon.h
[edit]
[-] ipmi_msgdefs.h
[edit]
[+]
netfilter_arp
[-] v4l2-subdev.h
[edit]
[-] vsockmon.h
[edit]
[-] neighbour.h
[edit]
[-] sctp.h
[edit]
[-] atmppp.h
[edit]
[-] usbdevice_fs.h
[edit]
[-] dm-ioctl.h
[edit]
[-] netconf.h
[edit]
[-] v4l2-dv-timings.h
[edit]
[-] chio.h
[edit]
[-] msg.h
[edit]
[+]
netfilter_ipv4
[-] netlink.h
[edit]
[-] genetlink.h
[edit]
[-] cgroupstats.h
[edit]
[-] i8k.h
[edit]
[-] cciss_ioctl.h
[edit]
[-] major.h
[edit]
[-] nfs_fs.h
[edit]
[-] rfkill.h
[edit]
[-] atm.h
[edit]
[-] fuse.h
[edit]
[-] fsl_hypervisor.h
[edit]
[-] atalk.h
[edit]
[-] ivtv.h
[edit]
[-] nfs4_mount.h
[edit]
[-] pps.h
[edit]
[-] nubus.h
[edit]
[-] ethtool.h
[edit]
[-] hpet.h
[edit]
[-] atmmpc.h
[edit]
[-] fou.h
[edit]
[-] dccp.h
[edit]
[-] if_pppox.h
[edit]
[-] media.h
[edit]
[-] dm-log-userspace.h
[edit]
[-] ndctl.h
[edit]
[-] wmi.h
[edit]
[-] timex.h
[edit]
[-] mii.h
[edit]
[-] kd.h
[edit]
[-] if_pppol2tp.h
[edit]
[-] uinput.h
[edit]
[-] time.h
[edit]
[-] fadvise.h
[edit]
[-] phonet.h
[edit]
[-] dlm_device.h
[edit]
[-] bpf_perf_event.h
[edit]
[-] quota.h
[edit]
[-] ppdev.h
[edit]
[-] ivtvfb.h
[edit]
[-] if_plip.h
[edit]
[-] net_namespace.h
[edit]
[-] ipmi.h
[edit]
[-] vhost.h
[edit]
[-] v4l2-common.h
[edit]
[-] ultrasound.h
[edit]
[-] lp.h
[edit]
[-] wireless.h
[edit]
[-] keyctl.h
[edit]
[-] atm_idt77105.h
[edit]
[-] bt-bmc.h
[edit]
[-] netrom.h
[edit]
[-] rtc.h
[edit]
[-] types.h
[edit]
[-] qnxtypes.h
[edit]
[-] affs_hardblocks.h
[edit]
[-] if_ppp.h
[edit]
[-] prctl.h
[edit]
[-] firewire-cdev.h
[edit]
[-] sdla.h
[edit]
[-] atmbr2684.h
[edit]
[-] falloc.h
[edit]
[-] connector.h
[edit]
[+]
mmc
[-] rtnetlink.h
[edit]
[-] tty_flags.h
[edit]
[-] bpf.h
[edit]
[-] watchdog.h
[edit]
[-] bsg.h
[edit]
[-] kernel.h
[edit]
[-] reiserfs_fs.h
[edit]
[+]
can
[-] selinux_netlink.h
[edit]
[-] hdlcdrv.h
[edit]
[-] filter.h
[edit]
[-] hidraw.h
[edit]
[-] icmp.h
[edit]
[-] uio.h
[edit]
[-] if_ltalk.h
[edit]
[-] ppp-ioctl.h
[edit]
[-] vtpm_proxy.h
[edit]
[-] elfcore.h
[edit]
[-] limits.h
[edit]
[-] if_tunnel.h
[edit]
[-] if_fddi.h
[edit]
[-] uvcvideo.h
[edit]
[-] ioctl.h
[edit]
[-] capi.h
[edit]
[-] nvme_ioctl.h
[edit]
[-] dlm.h
[edit]
[-] tiocl.h
[edit]
[-] inotify.h
[edit]
[-] poll.h
[edit]
[-] rose.h
[edit]
[-] if_hippi.h
[edit]
[-] matroxfb.h
[edit]
[-] i2o-dev.h
[edit]
[-] tipc_config.h
[edit]
[-] ipsec.h
[edit]
[-] dlm_netlink.h
[edit]
[-] serio.h
[edit]
[-] cdrom.h
[edit]
[-] fanotify.h
[edit]
[-] virtio_blk.h
[edit]
[-] atmioc.h
[edit]
[-] securebits.h
[edit]
[-] bpf_common.h
[edit]
[-] if_team.h
[edit]
[-] omapfb.h
[edit]
[-] pktcdvd.h
[edit]
[-] phantom.h
[edit]
[-] atmapi.h
[edit]
[-] hyperv.h
[edit]
[-] stddef.h
[edit]
[-] vt.h
[edit]
[-] cycx_cfm.h
[edit]
[-] parport.h
[edit]
[-] ptrace.h
[edit]
[-] nfs.h
[edit]
[-] if_bridge.h
[edit]
[+]
netfilter_bridge
[-] unix_diag.h
[edit]
[-] times.h
[edit]
[-] n_r3964.h
[edit]
[-] nl80211.h
[edit]
[-] kvm.h
[edit]
[-] virtio_ring.h
[edit]
[-] bpqether.h
[edit]
[-] ip6_tunnel.h
[edit]
[-] sem.h
[edit]
[-] llc.h
[edit]
[-] omap3isp.h
[edit]
[-] virtio_types.h
[edit]
[-] xattr.h
[edit]
[-] netfilter.h
[edit]
[-] edd.h
[edit]
[-] inet_diag.h
[edit]
[-] vfio.h
[edit]
[-] un.h
[edit]
[-] termios.h
[edit]
[+]
usb
[-] firewire-constants.h
[edit]
[-] nfs4.h
[edit]
[-] atmclip.h
[edit]
[-] devlink.h
[edit]
[-] ip_vs.h
[edit]
[-] nfc.h
[edit]
[-] flat.h
[edit]
[-] elf.h
[edit]
[-] if_x25.h
[edit]
[-] mdio.h
[edit]
[-] isdn_ppp.h
[edit]
[+]
isdn
[-] cm4000_cs.h
[edit]
[-] nvram.h
[edit]
[-] param.h
[edit]
[-] dlm_plock.h
[edit]
[-] virtio_balloon.h
[edit]
[-] telephony.h
[edit]
[-] dlmconstants.h
[edit]
[-] tcp.h
[edit]
[-] futex.h
[edit]
[-] virtio_scsi.h
[edit]
[-] net.h
[edit]
[-] sonypi.h
[edit]
[-] wait.h
[edit]
[-] apm_bios.h
[edit]
[-] if_macsec.h
[edit]
[+]
hsi
[-] gigaset_dev.h
[edit]
[-] capability.h
[edit]
[-] errqueue.h
[edit]
[+]
netfilter
[-] a.out.h
[edit]
[-] utsname.h
[edit]
[-] gen_stats.h
[edit]
[-] kdev_t.h
[edit]
[-] if_vlan.h
[edit]
[-] lwtunnel.h
[edit]
[-] uhid.h
[edit]
[-] i2c-dev.h
[edit]
[-] wimax.h
[edit]
[-] openvswitch.h
[edit]
[-] virtio_input.h
[edit]
[-] sonet.h
[edit]
[+]
hdlc
[-] ppp-comp.h
[edit]
[-] veth.h
[edit]
[-] atmsvc.h
[edit]
[-] netlink_diag.h
[edit]
[-] hid.h
[edit]
[-] const.h
[edit]
[-] psample.h
[edit]
[-] vm_sockets.h
[edit]
[-] i2c.h
[edit]
[-] synclink.h
[edit]
[-] if_arp.h
[edit]
[-] pfkeyv2.h
[edit]
[-] virtio_config.h
[edit]
[-] if_fc.h
[edit]
[-] eventpoll.h
[edit]
[-] binfmts.h
[edit]
[-] soundcard.h
[edit]
[-] in6.h
[edit]
[-] b1lli.h
[edit]
[-] suspend_ioctls.h
[edit]
[-] loop.h
[edit]
[-] seccomp.h
[edit]
[-] blktrace_api.h
[edit]
[-] adfs_fs.h
[edit]
[-] netdevice.h
[edit]
[-] virtio_console.h
[edit]
[-] dqblk_xfs.h
[edit]
[-] netfilter_decnet.h
[edit]
[-] mmtimer.h
[edit]
[-] can.h
[edit]
[-] adb.h
[edit]
[-] acct.h
[edit]
[-] ax25.h
[edit]
[-] coda_psdev.h
[edit]
[-] elf-fdpic.h
[edit]
[-] virtio_rng.h
[edit]
[-] signal.h
[edit]
[-] libc-compat.h
[edit]
[-] taskstats.h
[edit]
[-] ncp_no.h
[edit]
[-] ipx.h
[edit]
[-] userfaultfd.h
[edit]
[-] mempolicy.h
[edit]
[-] icmpv6.h
[edit]
[-] atmarp.h
[edit]
[-] if_frad.h
[edit]
[-] signalfd.h
[edit]
[-] irda.h
[edit]
[-] fiemap.h
[edit]
[-] virtio_pci.h
[edit]
[-] if_cablemodem.h
[edit]
[-] in_route.h
[edit]
[-] mpls.h
[edit]
[-] input.h
[edit]
[-] nfs_idmap.h
[edit]
[-] cramfs_fs.h
[edit]
[-] ptp_clock.h
[edit]
[-] audit.h
[edit]
[-] if_tun.h
[edit]
[-] igmp.h
[edit]
[-] if_alg.h
[edit]
[-] random.h
[edit]
[-] netfilter_ipv4.h
[edit]
[-] atm_nicstar.h
[edit]
[-] packet_diag.h
[edit]
[-] x25.h
[edit]
[+]
tc_act
[-] in.h
[edit]
[-] irqnr.h
[edit]
[-] ncp.h
[edit]
[-] reiserfs_xattr.h
[edit]
[+]
iio
[-] fs.h
[edit]
[-] map_to_7segment.h
[edit]
[+]
sunrpc
[-] if_addr.h
[edit]
[-] mtio.h
[edit]
[+]
nfsd
[-] hysdn_if.h
[edit]
[-] pci_regs.h
[edit]
[-] mroute6.h
[edit]
[-] isdn.h
[edit]
[-] udf_fs_i.h
[edit]