161 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			161 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			C
		
	
	
	
/****************************************************************************
 | 
						|
 ****************************************************************************
 | 
						|
 ***
 | 
						|
 ***   This header was automatically generated from a Linux kernel header
 | 
						|
 ***   of the same name, to make information necessary for userspace to
 | 
						|
 ***   call into the kernel available to libc.  It contains only constants,
 | 
						|
 ***   structures, and macros generated from the original header, and thus,
 | 
						|
 ***   contains no copyrightable information.
 | 
						|
 ***
 | 
						|
 ***   To edit the content of this header, modify the corresponding
 | 
						|
 ***   source file (e.g. under external/kernel-headers/original/) then
 | 
						|
 ***   run bionic/libc/kernel/tools/update_all.py
 | 
						|
 ***
 | 
						|
 ***   Any manual change here will be lost the next time this script will
 | 
						|
 ***   be run. You've been warned!
 | 
						|
 ***
 | 
						|
 ****************************************************************************
 | 
						|
 ****************************************************************************/
 | 
						|
#ifndef _UAPI_LINUX_DCCP_H
 | 
						|
#define _UAPI_LINUX_DCCP_H
 | 
						|
#include <linux/types.h>
 | 
						|
#include <asm/byteorder.h>
 | 
						|
struct dccp_hdr {
 | 
						|
  __be16 dccph_sport, dccph_dport;
 | 
						|
  __u8 dccph_doff;
 | 
						|
#ifdef __LITTLE_ENDIAN_BITFIELD
 | 
						|
  __u8 dccph_cscov : 4, dccph_ccval : 4;
 | 
						|
#elif defined(__BIG_ENDIAN_BITFIELD)
 | 
						|
  __u8 dccph_ccval : 4, dccph_cscov : 4;
 | 
						|
#else
 | 
						|
#error "Adjust your <asm/byteorder.h> defines"
 | 
						|
#endif
 | 
						|
  __sum16 dccph_checksum;
 | 
						|
#ifdef __LITTLE_ENDIAN_BITFIELD
 | 
						|
  __u8 dccph_x : 1, dccph_type : 4, dccph_reserved : 3;
 | 
						|
#elif defined(__BIG_ENDIAN_BITFIELD)
 | 
						|
  __u8 dccph_reserved : 3, dccph_type : 4, dccph_x : 1;
 | 
						|
#else
 | 
						|
#error "Adjust your <asm/byteorder.h> defines"
 | 
						|
#endif
 | 
						|
  __u8 dccph_seq2;
 | 
						|
  __be16 dccph_seq;
 | 
						|
};
 | 
						|
struct dccp_hdr_ext {
 | 
						|
  __be32 dccph_seq_low;
 | 
						|
};
 | 
						|
struct dccp_hdr_request {
 | 
						|
  __be32 dccph_req_service;
 | 
						|
};
 | 
						|
struct dccp_hdr_ack_bits {
 | 
						|
  __be16 dccph_reserved1;
 | 
						|
  __be16 dccph_ack_nr_high;
 | 
						|
  __be32 dccph_ack_nr_low;
 | 
						|
};
 | 
						|
struct dccp_hdr_response {
 | 
						|
  struct dccp_hdr_ack_bits dccph_resp_ack;
 | 
						|
  __be32 dccph_resp_service;
 | 
						|
};
 | 
						|
struct dccp_hdr_reset {
 | 
						|
  struct dccp_hdr_ack_bits dccph_reset_ack;
 | 
						|
  __u8 dccph_reset_code, dccph_reset_data[3];
 | 
						|
};
 | 
						|
enum dccp_pkt_type {
 | 
						|
  DCCP_PKT_REQUEST = 0,
 | 
						|
  DCCP_PKT_RESPONSE,
 | 
						|
  DCCP_PKT_DATA,
 | 
						|
  DCCP_PKT_ACK,
 | 
						|
  DCCP_PKT_DATAACK,
 | 
						|
  DCCP_PKT_CLOSEREQ,
 | 
						|
  DCCP_PKT_CLOSE,
 | 
						|
  DCCP_PKT_RESET,
 | 
						|
  DCCP_PKT_SYNC,
 | 
						|
  DCCP_PKT_SYNCACK,
 | 
						|
  DCCP_PKT_INVALID,
 | 
						|
};
 | 
						|
#define DCCP_NR_PKT_TYPES DCCP_PKT_INVALID
 | 
						|
enum dccp_reset_codes {
 | 
						|
  DCCP_RESET_CODE_UNSPECIFIED = 0,
 | 
						|
  DCCP_RESET_CODE_CLOSED,
 | 
						|
  DCCP_RESET_CODE_ABORTED,
 | 
						|
  DCCP_RESET_CODE_NO_CONNECTION,
 | 
						|
  DCCP_RESET_CODE_PACKET_ERROR,
 | 
						|
  DCCP_RESET_CODE_OPTION_ERROR,
 | 
						|
  DCCP_RESET_CODE_MANDATORY_ERROR,
 | 
						|
  DCCP_RESET_CODE_CONNECTION_REFUSED,
 | 
						|
  DCCP_RESET_CODE_BAD_SERVICE_CODE,
 | 
						|
  DCCP_RESET_CODE_TOO_BUSY,
 | 
						|
  DCCP_RESET_CODE_BAD_INIT_COOKIE,
 | 
						|
  DCCP_RESET_CODE_AGGRESSION_PENALTY,
 | 
						|
  DCCP_MAX_RESET_CODES
 | 
						|
};
 | 
						|
enum {
 | 
						|
  DCCPO_PADDING = 0,
 | 
						|
  DCCPO_MANDATORY = 1,
 | 
						|
  DCCPO_MIN_RESERVED = 3,
 | 
						|
  DCCPO_MAX_RESERVED = 31,
 | 
						|
  DCCPO_CHANGE_L = 32,
 | 
						|
  DCCPO_CONFIRM_L = 33,
 | 
						|
  DCCPO_CHANGE_R = 34,
 | 
						|
  DCCPO_CONFIRM_R = 35,
 | 
						|
  DCCPO_NDP_COUNT = 37,
 | 
						|
  DCCPO_ACK_VECTOR_0 = 38,
 | 
						|
  DCCPO_ACK_VECTOR_1 = 39,
 | 
						|
  DCCPO_TIMESTAMP = 41,
 | 
						|
  DCCPO_TIMESTAMP_ECHO = 42,
 | 
						|
  DCCPO_ELAPSED_TIME = 43,
 | 
						|
  DCCPO_MAX = 45,
 | 
						|
  DCCPO_MIN_RX_CCID_SPECIFIC = 128,
 | 
						|
  DCCPO_MAX_RX_CCID_SPECIFIC = 191,
 | 
						|
  DCCPO_MIN_TX_CCID_SPECIFIC = 192,
 | 
						|
  DCCPO_MAX_TX_CCID_SPECIFIC = 255,
 | 
						|
};
 | 
						|
#define DCCP_SINGLE_OPT_MAXLEN 253
 | 
						|
enum {
 | 
						|
  DCCPC_CCID2 = 2,
 | 
						|
  DCCPC_CCID3 = 3,
 | 
						|
};
 | 
						|
enum dccp_feature_numbers {
 | 
						|
  DCCPF_RESERVED = 0,
 | 
						|
  DCCPF_CCID = 1,
 | 
						|
  DCCPF_SHORT_SEQNOS = 2,
 | 
						|
  DCCPF_SEQUENCE_WINDOW = 3,
 | 
						|
  DCCPF_ECN_INCAPABLE = 4,
 | 
						|
  DCCPF_ACK_RATIO = 5,
 | 
						|
  DCCPF_SEND_ACK_VECTOR = 6,
 | 
						|
  DCCPF_SEND_NDP_COUNT = 7,
 | 
						|
  DCCPF_MIN_CSUM_COVER = 8,
 | 
						|
  DCCPF_DATA_CHECKSUM = 9,
 | 
						|
  DCCPF_MIN_CCID_SPECIFIC = 128,
 | 
						|
  DCCPF_SEND_LEV_RATE = 192,
 | 
						|
  DCCPF_MAX_CCID_SPECIFIC = 255,
 | 
						|
};
 | 
						|
enum dccp_cmsg_type {
 | 
						|
  DCCP_SCM_PRIORITY = 1,
 | 
						|
  DCCP_SCM_QPOLICY_MAX = 0xFFFF,
 | 
						|
  DCCP_SCM_MAX
 | 
						|
};
 | 
						|
enum dccp_packet_dequeueing_policy {
 | 
						|
  DCCPQ_POLICY_SIMPLE,
 | 
						|
  DCCPQ_POLICY_PRIO,
 | 
						|
  DCCPQ_POLICY_MAX
 | 
						|
};
 | 
						|
#define DCCP_SOCKOPT_PACKET_SIZE 1
 | 
						|
#define DCCP_SOCKOPT_SERVICE 2
 | 
						|
#define DCCP_SOCKOPT_CHANGE_L 3
 | 
						|
#define DCCP_SOCKOPT_CHANGE_R 4
 | 
						|
#define DCCP_SOCKOPT_GET_CUR_MPS 5
 | 
						|
#define DCCP_SOCKOPT_SERVER_TIMEWAIT 6
 | 
						|
#define DCCP_SOCKOPT_SEND_CSCOV 10
 | 
						|
#define DCCP_SOCKOPT_RECV_CSCOV 11
 | 
						|
#define DCCP_SOCKOPT_AVAILABLE_CCIDS 12
 | 
						|
#define DCCP_SOCKOPT_CCID 13
 | 
						|
#define DCCP_SOCKOPT_TX_CCID 14
 | 
						|
#define DCCP_SOCKOPT_RX_CCID 15
 | 
						|
#define DCCP_SOCKOPT_QPOLICY_ID 16
 | 
						|
#define DCCP_SOCKOPT_QPOLICY_TXQLEN 17
 | 
						|
#define DCCP_SOCKOPT_CCID_RX_INFO 128
 | 
						|
#define DCCP_SOCKOPT_CCID_TX_INFO 192
 | 
						|
#define DCCP_SERVICE_LIST_MAX_LEN 32
 | 
						|
#endif
 |