dect
/
linux-2.6
Archived
13
0
Fork 0
This repository has been archived on 2022-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
linux-2.6/include/uapi/linux/dect_netlink.h

398 lines
9.9 KiB
C

#ifndef _LINUX_DECT_NETLINK_H
#define _LINUX_DECT_NETLINK_H
struct dectmsg {
int dm_index;
};
enum dect_nlgroups {
DECTNLGRP_NONE,
DECTNLGRP_TRANSCEIVER,
DECTNLGRP_CELL,
DECTNLGRP_CLUSTER,
DECTNLGRP_LLME,
__DECTNLGRP_MAX
};
#define DECTNLGRP_MAX (__DECTNLGRP_MAX - 1)
enum dect_netlink_msg_types {
DECT_MSG_BASE = 0x10,
DECT_NEW_TRANSCEIVER,
DECT_DEL_TRANSCEIVER,
DECT_GET_TRANSCEIVER,
DECT_NEW_CELL,
DECT_DEL_CELL,
DECT_GET_CELL,
DECT_NEW_CLUSTER,
DECT_DEL_CLUSTER,
DECT_GET_CLUSTER,
DECT_LLME_MSG,
__DECT_MSG_MAX
};
#define DECT_MSG_MAX (__DECT_MSG_MAX - 1)
#define DECT_NR_MSGTYPES (DECT_MSG_MAX + 1 - DECT_MSG_BASE)
enum dect_list_attrs {
DECTA_LIST_UNSPEC,
DECTA_LIST_ELEM,
__DECTA_LIST_MAX
};
#define DECTA_LIST_MAX (__DECTA_LIST_MAX - 1)
enum dect_slot_states {
DECT_SLOT_IDLE,
DECT_SLOT_SCANNING,
DECT_SLOT_RX,
DECT_SLOT_TX,
};
enum dect_slot_flags {
DECT_SLOT_SYNC = 0x1,
DECT_SLOT_CIPHER = 0x2,
};
/**
* enum dect_packet_types - DECT Physical Packet Types
*
* @DECT_PACKET_P00: short physical packet P00, 96 bits, A-field only
* @DECT_PACKET_P08: low capacity physical packet P08j, 180 bits
* @DECT_PACKET_P32: basic physical packet P32, 420 bits
* @DECT_PACKET_P80: high capacity physical packet P80, 900 bits
* @DECT_PACKET_P640j: variable capacity packet P640j, 712 bits
* @DECT_PACKET_P672j: variable capacity packet P640j, 744 bits
*/
enum dect_packet_types {
DECT_PACKET_P00,
DECT_PACKET_P08,
DECT_PACKET_P32,
DECT_PACKET_P80,
DECT_PACKET_P640j,
DECT_PACKET_P672j,
__DECT_PACKET_MAX
};
#define DECT_PACKET_MAX (__DECT_PACKET_MAX - 1)
#define DECT_PHASE_OFFSET_SCALE 1024
enum dect_slot_attrs {
DECTA_SLOT_UNSPEC,
DECTA_SLOT_NUM,
DECTA_SLOT_STATE,
DECTA_SLOT_FLAGS,
DECTA_SLOT_PACKET,
DECTA_SLOT_CARRIER,
DECTA_SLOT_FREQUENCY,
DECTA_SLOT_PHASEOFF,
DECTA_SLOT_RSSI,
DECTA_SLOT_RX_PACKETS,
DECTA_SLOT_RX_BYTES,
DECTA_SLOT_RX_A_CRC_ERRORS,
DECTA_SLOT_RX_X_CRC_ERRORS,
DECTA_SLOT_RX_Z_CRC_ERRORS,
DECTA_SLOT_TX_PACKETS,
DECTA_SLOT_TX_BYTES,
__DECTA_SLOT_MAX
};
#define DECTA_SLOT_MAX (__DECTA_SLOT_MAX - 1)
enum dect_transceiver_stats_attrs {
DECTA_TRANSCEIVER_STATS_UNSPEC,
DECTA_TRANSCEIVER_STATS_EVENT_BUSY,
DECTA_TRANSCEIVER_STATS_EVENT_LATE,
__DECTA_TRANSCEIVER_STATS_MAX
};
#define DECTA_TRANSCEIVER_STATS_MAX (__DECTA_TRANSCEIVER_STATS_MAX - 1)
/**
* @DECT_TRANSCEIVER_SLOW_HOPPING: transceiver has slow hopping radio
* @DECT_TRANSCEIVER_PACKET_P64: transceiver supports packet P640j
*/
enum dect_transceiver_features {
DECT_TRANSCEIVER_SLOW_HOPPING = 0x1,
DECT_TRANSCEIVER_PACKET_P64 = 0x2,
};
enum dect_transceiver_attrs {
DECTA_TRANSCEIVER_UNSPEC,
DECTA_TRANSCEIVER_NAME,
DECTA_TRANSCEIVER_TYPE,
DECTA_TRANSCEIVER_FEATURES,
DECTA_TRANSCEIVER_LINK,
DECTA_TRANSCEIVER_STATS,
DECTA_TRANSCEIVER_BAND,
DECTA_TRANSCEIVER_SLOTS,
__DECTA_TRANSCEIVER_MAX
};
#define DECTA_TRANSCEIVER_MAX (__DECTA_TRANSCEIVER_MAX - 1)
enum dect_cell_flags {
DECT_CELL_CCP = (1 << 0),
DECT_CELL_SLAVE = (1 << 1),
DECT_CELL_MONITOR = (1 << 2),
};
enum dect_cell_attrs {
DECTA_CELL_UNSPEC,
DECTA_CELL_NAME,
DECTA_CELL_FLAGS,
DECTA_CELL_TRANSCEIVERS,
DECTA_CELL_CLUSTER,
__DECTA_CELL_MAX
};
#define DECTA_CELL_MAX (__DECTA_CELL_MAX - 1)
enum dect_mbc_state {
DECT_MBC_NONE,
DECT_MBC_INITIATED,
DECT_MBC_ESTABLISHED,
DECT_MBC_RELEASED,
};
enum dect_mbc_tb_attrs {
DECTA_MBC_TB_UNSPEC,
DECTA_MBC_TB_LBN,
DECTA_MBC_TB_ECN,
DECTA_MBC_TB_CELL,
DECTA_MBC_TB_RX_SLOT,
DECTA_MBC_TB_TX_SLOT,
__DECTA_MBC_TB_MAX,
};
#define DECTA_MBC_TB_MAX (__DECTA_MBC_TB_MAX - 1)
enum dect_mbc_stats_attrs {
DECTA_MBC_STATS_UNSPEC,
DECTA_MBC_STATS_CS_RX_BYTES,
DECTA_MBC_STATS_CS_TX_BYTES,
DECTA_MBC_STATS_I_RX_BYTES,
DECTA_MBC_STATS_I_TX_BYTES,
DECTA_MBC_STATS_HANDOVERS,
__DECTA_MBC_STATS_MAX,
};
#define DECTA_MBC_STATS_MAX (__DECTA_MBC_STATS_MAX - 1)
enum dect_mbc_attrs {
DECTA_MBC_UNSPEC,
DECTA_MBC_MCEI,
DECTA_MBC_SERVICE,
DECTA_MBC_STATE,
DECTA_MBC_CIPHER_STATE,
DECTA_MBC_STATS,
DECTA_MBC_TBS,
__DECTA_MBC_MAX,
};
#define DECTA_MBC_MAX (__DECTA_MBC_MAX - 1)
enum dect_cluster_attrs {
DECTA_CLUSTER_UNSPEC,
DECTA_CLUSTER_NAME,
DECTA_CLUSTER_MODE,
DECTA_CLUSTER_PARI,
DECTA_CLUSTER_CELLS,
DECTA_CLUSTER_MBCS,
__DECTA_CLUSTER_MAX
};
#define DECTA_CLUSTER_MAX (__DECTA_CLUSTER_MAX - 1)
enum dect_cluster_modes {
DECT_MODE_FP,
DECT_MODE_PP,
};
/**
* DECT ARI classes
*
* @DECT_ARC_A: Residential and private (PBX) single- and small multiple cell systems
* @DECT_ARC_B: Private (PABXs) multiple cell
* @DECT_ARC_C: Public single and multiple cell systems
* @DECT_ARC_D: Public DECT access to a GSM network
* @DECT_ARC_E: PP to PP direct communication (private)
*/
enum dect_ari_classes {
DECT_ARC_A,
DECT_ARC_B,
DECT_ARC_C,
DECT_ARC_D,
DECT_ARC_E,
};
enum dect_ari_attrs {
DECTA_ARI_UNSPEC,
DECTA_ARI_CLASS,
DECTA_ARI_FPN,
DECTA_ARI_FPS,
DECTA_ARI_EMC,
DECTA_ARI_EIC,
DECTA_ARI_POC,
DECTA_ARI_GOP,
DECTA_ARI_FIL,
__DECTA_ARI_MAX
};
#define DECTA_ARI_MAX (__DECTA_ARI_MAX - 1)
enum decta_sari_attrs {
DECTA_SARI_UNSPEC,
DECTA_SARI_ARI,
DECTA_SARI_BLACK,
DECTA_SARI_TARI,
__DECTA_SARI_MAX
};
#define DECTA_SARI_MAX (__DECTA_SARI_MAX - 1)
enum dect_fixed_part_capabilities {
DECT_FPC_EXTENDED_FP_INFO = 0x80000,
DECT_FPC_DOUBLE_DUPLEX_BEARER_CONNECTION= 0x40000,
DECT_FPC_RESERVED = 0x20000,
DECT_FPC_DOUBLE_SLOT = 0x10000,
DECT_FPC_HALF_SLOT = 0x08000,
DECT_FPC_FULL_SLOT = 0x04000,
DECT_FPC_FREQ_CONTROL = 0x02000,
DECT_FPC_PAGE_REPETITION = 0x01000,
DECT_FPC_CO_SETUP_ON_DUMMY = 0x00800,
DECT_FPC_CL_UPLINK = 0x00400,
DECT_FPC_CL_DOWNLINK = 0x00200,
DECT_FPC_BASIC_A_FIELD_SETUP = 0x00100,
DECT_FPC_ADV_A_FIELD_SETUP = 0x00080,
DECT_FPC_B_FIELD_SETUP = 0x00040,
DECT_FPC_CF_MESSAGES = 0x00020,
DECT_FPC_IN_MIN_DELAY = 0x00010,
DECT_FPC_IN_NORM_DELAY = 0x00008,
DECT_FPC_IP_ERROR_DETECTION = 0x00004,
DECT_FPC_IP_ERROR_CORRECTION = 0x00002,
DECT_FPC_MULTIBEARER_CONNECTIONS = 0x00001,
};
enum dect_higher_layer_capabilities {
DECT_HLC_ADPCM_G721_VOICE = 0x8000,
DECT_HLC_GAP_PAP_BASIC_SPEECH = 0x4000,
DECT_HLC_NON_VOICE_CIRCUIT_SWITCHED = 0x2000,
DECT_HLC_NON_VOICE_PACKET_SWITCHED = 0x1000,
DECT_HLC_STANDARD_AUTHENTICATION = 0x0800,
DECT_HLC_STANDARD_CIPHERING = 0x0400,
DECT_HLC_LOCATION_REGISTRATION = 0x0200,
DECT_HLC_SIM_SERVICES = 0x0100,
DECT_HLC_NON_STATIC_FIXED_PART = 0x0080,
DECT_HLC_CISS_SERVICE = 0x0040,
DECT_HLC_CLMS_SERVICE = 0x0020,
DECT_HLC_COMS_SERVICE = 0x0010,
DECT_HLC_ACCESS_RIGHTS_REQUESTS = 0x0008,
DECT_HLC_EXTERNAL_HANDOVER = 0x0004,
DECT_HLC_CONNECTION_HANDOVER = 0x0002,
DECT_HLC_RESERVED = 0x0001,
};
enum dect_extended_fixed_part_capabilities {
DECT_EFPC_WRS_MASK = 0x1f80,
DECT_EFPC_WRS_CRFP_HOPS_MASK = 0x1800,
DECT_EFPC_WRS_CRFP_HOPS_1 = 0x0000,
DECT_EFPC_WRS_CRFP_HOPS_2 = 0x0800,
DECT_EFPC_WRS_CRFP_HOPS_3 = 0x1000,
DECT_EFPC_WRS_CRFP_HOPS_NONE = 0x1800,
DECT_EFPC_WRS_CRFP_ENCRYPTION = 0x0400,
DECT_EFPC_WRS_REP_HOPS_MASK = 0x0300,
DECT_EFPC_WRS_REP_HOPS_NONE = 0x0000,
DECT_EFPC_WRS_REP_HOPS_1 = 0x0100,
DECT_EFPC_WRS_REP_HOPS_2 = 0x0200,
DECT_EFPC_WRS_REP_HOPS_3 = 0x0300,
DECT_EFPC_WRS_REP_INTERLACING = 0x0080,
DECT_EFPC_SYNC_MASK = 0x0060,
DECT_EFPC_SYNC_PROLONGED_PREAMBLE = 0x0020,
DECT_EFPC_SYNC_RESERVED1 = 0x0010,
DECT_EFPC_MAC_SUSPEND_RESUME = 0x0008,
DECT_EFPC_MAC_IP_Q_SERVICE = 0x0004,
DECT_EFPC_EXTENDED_FP_INFO2 = 0x0002,
DECT_EFPC_RESERVED2 = 0x0001,
};
enum dect_extended_higher_layer_capabilities {
DECT_EHLC_ISDN_DATA_SERVICE = 0x000001,
DECT_EHLC_DPRS_FREL = 0x000002,
DECT_EHLC_DPRS_STREAM = 0x000004,
DECT_EHLC_DATA_SERVICE_PROFILE_D = 0x000008,
DECT_EHLC_LRMS = 0x000010,
DECT_EHLC_ASYMETRIC_BEARERS = 0x000040,
DECT_EHLC_EMERGENCY_CALLS = 0x000080,
DECT_EHLC_TPUI_LOCATION_REGISTRATION = 0x000100,
DECT_EHLC_GPS_SYNCHRONIZED = 0x000200,
DECT_EHLC_ISDN_INTERMEDIATE_SYSTEM = 0x000400,
DECT_EHLC_RAP_PART_1_PROFILE = 0x000800,
DECT_EHLC_V_24 = 0x004000,
DECT_EHLC_PPP = 0x008000,
DECT_EHLC_IP = 0x010000,
DECT_EHLC_TOKEN_RING = 0x020000,
DECT_EHLC_ETHERNET = 0x040000,
DECT_EHLC_IP_ROAMING = 0x080000,
DECT_EHLC_GENERIC_MEDIA_ENCAPSULATION = 0x100000,
DECT_EHLC_BASIC_ODAP = 0x200000,
DECT_EHLC_F_MMS_INTERWORKING_PROFILE = 0x400000,
};
enum dect_extended_fixed_part_capabilities2 {
DECT_EFPC2_LONG_SLOT_J640 = 0x800,
DECT_EFPC2_LONG_SLOT_J672 = 0x400,
DECT_EFPC2_IP_F = 0x200,
DECT_EFPC2_SI_PF = 0x100,
DECT_EFPC2_GF = 0x080,
DECT_EFPC2_NO_EMISSION_CARRIER = 0x001,
};
enum dect_extended_higher_layer_capabilities2 {
DECT_EHLC2_NG_DECT_PERMANENT_CLIR = 0x000100,
DECT_EHLC2_NG_DECT_MULTIPLE_CALLS = 0x000200,
DECT_EHLC2_NG_DECT_MULTIPLE_LINES = 0x000400,
DECT_EHLC2_EASY_PAIRING = 0x000800,
DECT_EHLC2_LIST_ACCESS_FEATURES = 0x001000,
DECT_EHLC2_NO_EMISSION_MODE = 0x002000,
DECT_EHLC2_NG_DECT_CALL_DEFLECTION = 0x004000,
DECT_EHLC2_NG_DECT_INTRUSION_CALL = 0x008000,
DECT_EHLC2_NG_DECT_CONFERENCE_CALL = 0x010000,
DECT_EHLC2_NG_DECT_PARALLEL_CALLS = 0x020000,
DECT_EHLC2_NG_DECT_CALL_TRANSFER = 0x040000,
DECT_EHLC2_NG_DECT_EXTENDED_WIDEBAND = 0x080000,
DECT_EHLC2_PACKET_DATA_CATEGORY_MASK = 0x700000,
DECT_EHLC2_NG_DECT_WIDEBAND = 0x800000,
};
enum dect_mac_info_attrs {
DECTA_MAC_INFO_UNSPEC,
DECTA_MAC_INFO_PARI,
DECTA_MAC_INFO_RPN,
DECTA_MAC_INFO_RSSI,
DECTA_MAC_INFO_SARI_LIST,
DECTA_MAC_INFO_FPC,
DECTA_MAC_INFO_HLC,
DECTA_MAC_INFO_EFPC,
DECTA_MAC_INFO_EHLC,
DECTA_MAC_INFO_EFPC2,
DECTA_MAC_INFO_EHLC2,
DECTA_MAC_INFO_MFN,
__DECTA_MAC_INFO_MAX
};
#define DECTA_MAC_INFO_MAX (__DECTA_MAC_INFO_MAX - 1)
enum dect_llme_ops {
DECT_LLME_REQUEST,
DECT_LLME_INDICATE,
DECT_LLME_RESPONSE,
DECT_LLME_CONFIRM,
};
enum dect_llme_msg_types {
DECT_LLME_SCAN,
DECT_LLME_MAC_INFO,
DECT_LLME_MAC_RFP_PRELOAD,
__DECT_LLME_MAX
};
#define DECT_LLME_MAX (__DECT_LLME_MAX - 1)
enum dect_llme_msg_attrs {
DECTA_LLME_UNSPEC,
DECTA_LLME_OP,
DECTA_LLME_TYPE,
DECTA_LLME_DATA,
__DECTA_LLME_MAX
};
#define DECTA_LLME_MAX (__DECTA_LLME_MAX - 1)
#endif /* _LINUX_DECT_NETLINK_H */