#ifndef _UAPILINUX_PHONET_H
#define _UAPILINUX_PHONET_H
#include <linux/types.h>
#include <linux/socket.h>
#define PN_PROTO_TRANSPORT …
#define PN_PROTO_PHONET …
#define PN_PROTO_PIPE …
#define PHONET_NPROTO …
#define PNPIPE_ENCAP …
#define PNPIPE_IFINDEX …
#define PNPIPE_HANDLE …
#define PNPIPE_INITSTATE …
#define PNADDR_ANY …
#define PNADDR_BROADCAST …
#define PNPORT_RESOURCE_ROUTING …
#define PNPIPE_ENCAP_NONE …
#define PNPIPE_ENCAP_IP …
#define SIOCPNGETOBJECT …
#define SIOCPNENABLEPIPE …
#define SIOCPNADDRESOURCE …
#define SIOCPNDELRESOURCE …
struct phonethdr { … } __attribute__((packed));
struct phonetmsg { … };
#define PN_COMMON_MESSAGE …
#define PN_COMMGR …
#define PN_PREFIX …
#define pn_submsg_id …
#define pn_e_submsg_id …
#define pn_e_res_id …
#define pn_data …
#define pn_e_data …
#define PN_COMM_SERVICE_NOT_IDENTIFIED_RESP …
#define PN_COMM_ISA_ENTITY_NOT_REACHABLE_RESP …
#define pn_orig_msg_id …
#define pn_status …
#define pn_e_orig_msg_id …
#define pn_e_status …
struct sockaddr_pn { … } __attribute__((packed));
#define PN_DEV_PC …
static inline __u16 pn_object(__u8 addr, __u16 port)
{ … }
static inline __u8 pn_obj(__u16 handle)
{ … }
static inline __u8 pn_dev(__u16 handle)
{ … }
static inline __u16 pn_port(__u16 handle)
{ … }
static inline __u8 pn_addr(__u16 handle)
{ … }
static inline void pn_sockaddr_set_addr(struct sockaddr_pn *spn, __u8 addr)
{ … }
static inline void pn_sockaddr_set_port(struct sockaddr_pn *spn, __u16 port)
{ … }
static inline void pn_sockaddr_set_object(struct sockaddr_pn *spn,
__u16 handle)
{ … }
static inline void pn_sockaddr_set_resource(struct sockaddr_pn *spn,
__u8 resource)
{ … }
static inline __u8 pn_sockaddr_get_addr(const struct sockaddr_pn *spn)
{ … }
static inline __u16 pn_sockaddr_get_port(const struct sockaddr_pn *spn)
{ … }
static inline __u16 pn_sockaddr_get_object(const struct sockaddr_pn *spn)
{ … }
static inline __u8 pn_sockaddr_get_resource(const struct sockaddr_pn *spn)
{ … }
#endif