#ifndef __LINUX_NETLINK_H #define __LINUX_NETLINK_H /** * Netlink socket address * @ingroup nl */ struct sockaddr_nl { /** socket family (AF_NETLINK) */ sa_family_t nl_family; /** Padding (unused) */ unsigned short nl_pad; /** Unique process ID */ uint32_t nl_pid; /** Multicast group subscriptions */ uint32_t nl_groups; }; /** * Netlink message header * @ingroup msg */ struct nlmsghdr { /** * Length of message including header. */ uint32_t nlmsg_len; /** * Message type (content type) */ uint16_t nlmsg_type; /** * Message flags */ uint16_t nlmsg_flags; /** * Sequence number */ uint32_t nlmsg_seq; /** * Netlink PID of the proccess sending the message. */ uint32_t nlmsg_pid; }; /** * @name Standard message flags * @{ */ /** * Must be set on all request messages (typically from user space to * kernel space). * @ingroup msg */ #define NLM_F_REQUEST 1 /** * Indicates the message is part of a multipart message terminated * by NLMSG_DONE. */ #define NLM_F_MULTI 2 /** * Request for an acknowledgment on success. */ #define NLM_F_ACK 4 /** * Echo this request */ #define NLM_F_ECHO 8 /** @} */ /** * @name Additional message flags for GET requests * @{ */ /** * Return the complete table instead of a single entry. * @ingroup msg */ #define NLM_F_ROOT 0x100 /** * Return all entries matching criteria passed in message content. */ #define NLM_F_MATCH 0x200 /** * Return an atomic snapshot of the table being referenced. This * may require special privileges because it has the potential to * interrupt service in the FE for a longer time. */ #define NLM_F_ATOMIC 0x400 /** * Dump all entries */ #define NLM_F_DUMP (NLM_F_ROOT|NLM_F_MATCH) /** @} */ /** * @name Additional messsage flags for NEW requests * @{ */ /** * Replace existing matching config object with this request. * @ingroup msg */ #define NLM_F_REPLACE 0x100 /** * Don't replace the config object if it already exists. */ #define NLM_F_EXCL 0x200 /** * Create config object if it doesn't already exist. */ #define NLM_F_CREATE 0x400 /** * Add to the end of the object list. */ #define NLM_F_APPEND 0x800 /** @} */ /** * @name Standard Message types * @{ */ /** * No operation, message must be ignored * @ingroup msg */ #define NLMSG_NOOP 0x1 /** * The message signals an error and the payload contains a nlmsgerr * structure. This can be looked at as a NACK and typically it is * from FEC to CPC. */ #define NLMSG_ERROR 0x2 /** * Message terminates a multipart message. */ #define NLMSG_DONE 0x3 /** * The message signals that data got lost */ #define NLMSG_OVERRUN 0x4 /** * Lower limit of reserved message types */ #define NLMSG_MIN_TYPE 0x10 /** @} */ /** * Netlink error message * @ingroup msg */ struct nlmsgerr { /** Error code (errno number) */ int error; /** Original netlink message causing the error */ struct nlmsghdr msg; }; struct nl_pktinfo { __u32 group; }; #endif /* __LINUX_NETLINK_H */ en/xen/plain/tools/ioemu/Makefile?id=59169b80f10218e9907c82f54f4e112f5969c3bf'>plain)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
|