aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/dect_netlink.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/uapi/linux/dect_netlink.h')
-rw-r--r--include/uapi/linux/dect_netlink.h397
1 files changed, 397 insertions, 0 deletions
diff --git a/include/uapi/linux/dect_netlink.h b/include/uapi/linux/dect_netlink.h
new file mode 100644
index 00000000000..7c01acabf39
--- /dev/null
+++ b/include/uapi/linux/dect_netlink.h
@@ -0,0 +1,397 @@
+#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 */