111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/**************************************************************************** 211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** This header was automatically generated from a Linux kernel header 511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** of the same name, to make information necessary for userspace to 611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** call into the kernel available to libc. It contains only constants, 711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** structures, and macros generated from the original header, and thus, 811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** contains no copyrightable information. 911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/ 1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _LINUX_DCCP_H 1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _LINUX_DCCP_H 1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/types.h> 1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <asm/byteorder.h> 1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct dccp_hdr { 1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __be16 dccph_sport, 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert dccph_dport; 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 dccph_doff; 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef __LITTLE_ENDIAN_BITFIELD 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 dccph_cscov:4, 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert dccph_ccval:4; 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#elif defined(__BIG_ENDIAN_BITFIELD) 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 dccph_ccval:4, 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert dccph_cscov:4; 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#error "Adjust your <asm/byteorder.h> defines" 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 dccph_checksum; 3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef __LITTLE_ENDIAN_BITFIELD 3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 dccph_x:1, 3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert dccph_type:4, 3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert dccph_reserved:3; 3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#elif defined(__BIG_ENDIAN_BITFIELD) 3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 dccph_reserved:3, 3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert dccph_type:4, 3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert dccph_x:1; 4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else 4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#error "Adjust your <asm/byteorder.h> defines" 4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 dccph_seq2; 4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __be16 dccph_seq; 4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct dccp_hdr_ext { 4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __be32 dccph_seq_low; 4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct dccp_hdr_request { 5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __be32 dccph_req_service; 5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct dccp_hdr_ack_bits { 5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __be16 dccph_reserved1; 5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __be16 dccph_ack_nr_high; 5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __be32 dccph_ack_nr_low; 5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct dccp_hdr_response { 6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct dccp_hdr_ack_bits dccph_resp_ack; 6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __be32 dccph_resp_service; 6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct dccp_hdr_reset { 6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct dccp_hdr_ack_bits dccph_reset_ack; 6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 dccph_reset_code, 6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert dccph_reset_data[3]; 7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertenum dccp_pkt_type { 7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCP_PKT_REQUEST = 0, 7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCP_PKT_RESPONSE, 7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCP_PKT_DATA, 7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCP_PKT_ACK, 7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCP_PKT_DATAACK, 7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCP_PKT_CLOSEREQ, 7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCP_PKT_CLOSE, 8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCP_PKT_RESET, 8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCP_PKT_SYNC, 8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCP_PKT_SYNCACK, 8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCP_PKT_INVALID, 8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DCCP_NR_PKT_TYPES DCCP_PKT_INVALID 8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertenum { 8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPO_PADDING = 0, 9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPO_MANDATORY = 1, 9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPO_MIN_RESERVED = 3, 9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPO_MAX_RESERVED = 31, 9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPO_CHANGE_L = 32, 9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPO_CONFIRM_L = 33, 9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPO_CHANGE_R = 34, 9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPO_CONFIRM_R = 35, 9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPO_NDP_COUNT = 37, 9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPO_ACK_VECTOR_0 = 38, 9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPO_ACK_VECTOR_1 = 39, 10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPO_TIMESTAMP = 41, 10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPO_TIMESTAMP_ECHO = 42, 10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPO_ELAPSED_TIME = 43, 10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPO_MAX = 45, 10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPO_MIN_CCID_SPECIFIC = 128, 10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPO_MAX_CCID_SPECIFIC = 255, 10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertenum { 10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPF_RESERVED = 0, 11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPF_CCID = 1, 11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPF_SEQUENCE_WINDOW = 3, 11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPF_ACK_RATIO = 5, 11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPF_SEND_ACK_VECTOR = 6, 11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPF_SEND_NDP_COUNT = 7, 11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPF_MIN_CCID_SPECIFIC = 128, 11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert DCCPF_MAX_CCID_SPECIFIC = 255, 11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct dccp_so_feat { 12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 dccpsf_feat; 12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 *dccpsf_val; 12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 dccpsf_len; 12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DCCP_SOCKOPT_PACKET_SIZE 1 12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DCCP_SOCKOPT_SERVICE 2 12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DCCP_SOCKOPT_CHANGE_L 3 12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DCCP_SOCKOPT_CHANGE_R 4 13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DCCP_SOCKOPT_CCID_RX_INFO 128 13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DCCP_SOCKOPT_CCID_TX_INFO 192 13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DCCP_SERVICE_LIST_MAX_LEN 32 13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 136