From 09f4145c235ef96d01a6addd1891e818a754b812 Mon Sep 17 00:00:00 2001 From: Patrick McHardy Date: Mon, 1 Apr 2013 11:58:56 +0200 Subject: dect: move exported header files to include/uapi and remove accidentally reinstated Kbuild file Signed-off-by: Patrick McHardy --- include/linux/Kbuild | 415 -------------------------------------- include/linux/dect.h | 206 ------------------- include/linux/dect_netlink.h | 397 ------------------------------------ include/uapi/linux/Kbuild | 2 + include/uapi/linux/dect.h | 206 +++++++++++++++++++ include/uapi/linux/dect_netlink.h | 397 ++++++++++++++++++++++++++++++++++++ 6 files changed, 605 insertions(+), 1018 deletions(-) delete mode 100644 include/linux/Kbuild delete mode 100644 include/linux/dect.h delete mode 100644 include/linux/dect_netlink.h create mode 100644 include/uapi/linux/dect.h create mode 100644 include/uapi/linux/dect_netlink.h diff --git a/include/linux/Kbuild b/include/linux/Kbuild deleted file mode 100644 index 3d74fced165..00000000000 --- a/include/linux/Kbuild +++ /dev/null @@ -1,415 +0,0 @@ -header-y += byteorder/ -header-y += can/ -header-y += caif/ -header-y += dvb/ -header-y += hdlc/ -header-y += hsi/ -header-y += isdn/ -header-y += mmc/ -header-y += nfsd/ -header-y += raid/ -header-y += spi/ -header-y += sunrpc/ -header-y += tc_act/ -header-y += tc_ematch/ -header-y += netfilter/ -header-y += netfilter_arp/ -header-y += netfilter_bridge/ -header-y += netfilter_ipv4/ -header-y += netfilter_ipv6/ -header-y += usb/ -header-y += wimax/ - -objhdr-y += version.h - -ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/a.out.h \ - $(srctree)/include/asm-$(SRCARCH)/a.out.h \ - $(INSTALL_HDR_PATH)/include/asm-*/a.out.h),) -header-y += a.out.h -endif -ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm.h \ - $(srctree)/include/asm-$(SRCARCH)/kvm.h \ - $(INSTALL_HDR_PATH)/include/asm-*/kvm.h),) -header-y += kvm.h -endif -ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm_para.h \ - $(srctree)/include/asm-$(SRCARCH)/kvm_para.h \ - $(INSTALL_HDR_PATH)/include/asm-*/kvm_para.h),) -header-y += kvm_para.h -endif - -header-y += acct.h -header-y += adb.h -header-y += adfs_fs.h -header-y += affs_hardblocks.h -header-y += agpgart.h -header-y += aio_abi.h -header-y += apm_bios.h -header-y += arcfb.h -header-y += atalk.h -header-y += atm.h -header-y += atm_eni.h -header-y += atm_he.h -header-y += atm_idt77105.h -header-y += atm_nicstar.h -header-y += atm_tcp.h -header-y += atm_zatm.h -header-y += atmapi.h -header-y += atmarp.h -header-y += atmbr2684.h -header-y += atmclip.h -header-y += atmdev.h -header-y += atmioc.h -header-y += atmlec.h -header-y += atmmpc.h -header-y += atmppp.h -header-y += atmsap.h -header-y += atmsvc.h -header-y += audit.h -header-y += auto_fs.h -header-y += auto_fs4.h -header-y += auxvec.h -header-y += ax25.h -header-y += b1lli.h -header-y += baycom.h -header-y += bfs_fs.h -header-y += binfmts.h -header-y += blk_types.h -header-y += blkpg.h -header-y += blktrace_api.h -header-y += bpqether.h -header-y += bsg.h -header-y += can.h -header-y += capability.h -header-y += capi.h -header-y += cciss_defs.h -header-y += cciss_ioctl.h -header-y += cdk.h -header-y += cdrom.h -header-y += cgroupstats.h -header-y += chio.h -header-y += cm4000_cs.h -header-y += cn_proc.h -header-y += coda.h -header-y += coda_psdev.h -header-y += coff.h -header-y += comstats.h -header-y += connector.h -header-y += const.h -header-y += cramfs_fs.h -header-y += cuda.h -header-y += cyclades.h -header-y += cycx_cfm.h -header-y += dcbnl.h -header-y += dccp.h -header-y += dect.h -header-y += dect_netlink.h -header-y += dlm.h -header-y += dlm_device.h -header-y += dlm_netlink.h -header-y += dlm_plock.h -header-y += dlmconstants.h -header-y += dm-ioctl.h -header-y += dm-log-userspace.h -header-y += dn.h -header-y += dqblk_xfs.h -header-y += edd.h -header-y += efs_fs_sb.h -header-y += elf-em.h -header-y += elf-fdpic.h -header-y += elf.h -header-y += elfcore.h -header-y += errno.h -header-y += errqueue.h -header-y += ethtool.h -header-y += eventpoll.h -header-y += fadvise.h -header-y += falloc.h -header-y += fanotify.h -header-y += fb.h -header-y += fcntl.h -header-y += fd.h -header-y += fdreg.h -header-y += fib_rules.h -header-y += fiemap.h -header-y += filter.h -header-y += firewire-cdev.h -header-y += firewire-constants.h -header-y += flat.h -header-y += fs.h -header-y += fsl_hypervisor.h -header-y += fuse.h -header-y += futex.h -header-y += gameport.h -header-y += gen_stats.h -header-y += generic_serial.h -header-y += genetlink.h -header-y += gfs2_ondisk.h -header-y += gigaset_dev.h -header-y += hdlc.h -header-y += hdlcdrv.h -header-y += hdreg.h -header-y += hid.h -header-y += hiddev.h -header-y += hidraw.h -header-y += hpet.h -header-y += hysdn_if.h -header-y += i2c-dev.h -header-y += i2c.h -header-y += i2o-dev.h -header-y += i8k.h -header-y += icmp.h -header-y += icmpv6.h -header-y += if.h -header-y += if_addr.h -header-y += if_addrlabel.h -header-y += if_alg.h -header-y += if_arcnet.h -header-y += if_arp.h -header-y += if_bonding.h -header-y += if_bridge.h -header-y += if_cablemodem.h -header-y += if_eql.h -header-y += if_ether.h -header-y += if_fc.h -header-y += if_fddi.h -header-y += if_frad.h -header-y += if_hippi.h -header-y += if_infiniband.h -header-y += if_link.h -header-y += if_ltalk.h -header-y += if_packet.h -header-y += if_phonet.h -header-y += if_plip.h -header-y += if_ppp.h -header-y += if_pppol2tp.h -header-y += if_pppox.h -header-y += if_slip.h -header-y += if_strip.h -header-y += if_team.h -header-y += if_tun.h -header-y += if_tunnel.h -header-y += if_vlan.h -header-y += if_x25.h -header-y += igmp.h -header-y += in.h -header-y += in6.h -header-y += in_route.h -header-y += sock_diag.h -header-y += inet_diag.h -header-y += unix_diag.h -header-y += inotify.h -header-y += input.h -header-y += ioctl.h -header-y += ip.h -header-y += ip6_tunnel.h -header-y += ip_vs.h -header-y += ipc.h -header-y += ipmi.h -header-y += ipmi_msgdefs.h -header-y += ipsec.h -header-y += ipv6.h -header-y += ipv6_route.h -header-y += ipx.h -header-y += irda.h -header-y += irqnr.h -header-y += isdn.h -header-y += isdn_divertif.h -header-y += isdn_ppp.h -header-y += isdnif.h -header-y += iso_fs.h -header-y += ivtv.h -header-y += ivtvfb.h -header-y += ixjuser.h -header-y += jffs2.h -header-y += joystick.h -header-y += kd.h -header-y += kdev_t.h -header-y += kernel.h -header-y += kernelcapi.h -header-y += kernel-page-flags.h -header-y += kexec.h -header-y += keyboard.h -header-y += keyctl.h -header-y += l2tp.h -header-y += limits.h -header-y += llc.h -header-y += loop.h -header-y += lp.h -header-y += magic.h -header-y += major.h -header-y += map_to_7segment.h -header-y += matroxfb.h -header-y += mdio.h -header-y += media.h -header-y += mei.h -header-y += mempolicy.h -header-y += meye.h -header-y += mii.h -header-y += minix_fs.h -header-y += mman.h -header-y += mmtimer.h -header-y += mqueue.h -header-y += mroute.h -header-y += mroute6.h -header-y += msdos_fs.h -header-y += msg.h -header-y += mtio.h -header-y += n_r3964.h -header-y += nbd.h -header-y += ncp.h -header-y += ncp_fs.h -header-y += ncp_mount.h -header-y += ncp_no.h -header-y += neighbour.h -header-y += net.h -header-y += net_dropmon.h -header-y += net_tstamp.h -header-y += netdevice.h -header-y += netfilter.h -header-y += netfilter_arp.h -header-y += netfilter_bridge.h -header-y += netfilter_decnet.h -header-y += netfilter_ipv4.h -header-y += netfilter_ipv6.h -header-y += netlink.h -header-y += netrom.h -header-y += nfc.h -header-y += nfs.h -header-y += nfs2.h -header-y += nfs3.h -header-y += nfs4.h -header-y += nfs4_mount.h -header-y += nfs_fs.h -header-y += nfs_idmap.h -header-y += nfs_mount.h -header-y += nfsacl.h -header-y += nl80211.h -header-y += nubus.h -header-y += nvram.h -header-y += omap3isp.h -header-y += omapfb.h -header-y += oom.h -header-y += param.h -header-y += parport.h -header-y += patchkey.h -header-y += pci.h -header-y += pci_regs.h -header-y += perf_event.h -header-y += personality.h -header-y += pfkeyv2.h -header-y += pg.h -header-y += phantom.h -header-y += phonet.h -header-y += pkt_cls.h -header-y += pkt_sched.h -header-y += pktcdvd.h -header-y += pmu.h -header-y += poll.h -header-y += posix_types.h -header-y += ppdev.h -header-y += ppp-comp.h -header-y += ppp-ioctl.h -header-y += ppp_defs.h -header-y += pps.h -header-y += prctl.h -header-y += ptp_clock.h -header-y += ptrace.h -header-y += qnx4_fs.h -header-y += qnxtypes.h -header-y += quota.h -header-y += radeonfb.h -header-y += random.h -header-y += raw.h -header-y += rds.h -header-y += reboot.h -header-y += reiserfs_fs.h -header-y += reiserfs_xattr.h -header-y += resource.h -header-y += rfkill.h -header-y += romfs_fs.h -header-y += rose.h -header-y += route.h -header-y += rtc.h -header-y += rtnetlink.h -header-y += scc.h -header-y += sched.h -header-y += screen_info.h -header-y += sdla.h -header-y += seccomp.h -header-y += securebits.h -header-y += selinux_netlink.h -header-y += sem.h -header-y += serial.h -header-y += serial_core.h -header-y += serial_reg.h -header-y += serio.h -header-y += shm.h -header-y += signal.h -header-y += signalfd.h -header-y += snmp.h -header-y += socket.h -header-y += sockios.h -header-y += som.h -header-y += sonet.h -header-y += sonypi.h -header-y += sound.h -header-y += soundcard.h -header-y += stat.h -header-y += stddef.h -header-y += string.h -header-y += suspend_ioctls.h -header-y += swab.h -header-y += synclink.h -header-y += sysctl.h -header-y += sysinfo.h -header-y += taskstats.h -header-y += tcp.h -header-y += telephony.h -header-y += termios.h -header-y += time.h -header-y += times.h -header-y += timex.h -header-y += tiocl.h -header-y += tipc.h -header-y += tipc_config.h -header-y += toshiba.h -header-y += tty.h -header-y += types.h -header-y += udf_fs_i.h -header-y += udp.h -header-y += uinput.h -header-y += uio.h -header-y += ultrasound.h -header-y += un.h -header-y += unistd.h -header-y += usbdevice_fs.h -header-y += utime.h -header-y += utsname.h -header-y += uuid.h -header-y += uvcvideo.h -header-y += v4l2-dv-timings.h -header-y += v4l2-mediabus.h -header-y += v4l2-subdev.h -header-y += veth.h -header-y += vhost.h -header-y += videodev2.h -header-y += virtio_9p.h -header-y += virtio_balloon.h -header-y += virtio_blk.h -header-y += virtio_config.h -header-y += virtio_console.h -header-y += virtio_ids.h -header-y += virtio_net.h -header-y += virtio_pci.h -header-y += virtio_ring.h -header-y += virtio_rng.h -header-y += vt.h -header-y += wait.h -header-y += wanrouter.h -header-y += watchdog.h -header-y += wimax.h -header-y += wireless.h -header-y += x25.h -header-y += xattr.h -header-y += xfrm.h diff --git a/include/linux/dect.h b/include/linux/dect.h deleted file mode 100644 index e458a9c944e..00000000000 --- a/include/linux/dect.h +++ /dev/null @@ -1,206 +0,0 @@ -#ifndef _LINUX_DECT_H -#define _LINUX_DECT_H - -#define DECTNAMSIZ 16 - -#include -#include - -/* these have to be macros in order to be usable for module aliases */ -#define DECT_RAW 0 /* raw frames */ -#define DECT_B_SAP 1 /* DLC Broadcast Service */ -#define DECT_S_SAP 2 /* DLC Data Link Service */ -#define DECT_LU1_SAP 3 /* LU1 sockets */ -#define DECT_PROTO_NUM 4 - -/** - * struct sockaddr_dect - * - * @dect_family: address family (AF_DECT) - * @dect_index: cluster index - */ -struct sockaddr_dect { - sa_family_t dect_family; - int dect_index; -}; - -/* raw sockets */ - -#define DECT_RAW_AUXDATA 0 - -/** - * struct dect_raw_auxdata - raw socket auxiliary frame data - * - * @mfn: multi-frame number - * @frame: frame number - * @slot: slot numer - * @rssi: receive signal strength indicator - */ -struct dect_raw_auxdata { - __u32 mfn; - __u8 frame; - __u8 slot; - __u8 rssi; -}; - -#define DECT_BSAP_AUXDATA 0 - -/** - * struct dect_bsap_auxdata - * - * @long_page: message contains a long page - */ -struct dect_bsap_auxdata { - __u8 long_page; -}; - -/** - * enum dect_sapis - S SAP Identifier - * - * @DECT_SAPI_CO_SIGNALLING: connection oriented signalling - * @DECT_SAPI_CL_SIGNALLING: connectionless signalling - * @DECT_SAPI_ANY: wildcard - */ -enum dect_sapis { - DECT_SAPI_CO_SIGNALLING = 0, - DECT_SAPI_CL_SIGNALLING = 3, - DECT_SAPI_ANY = 7, -}; - -/** - * enum dect_llns - Logical Link Numbers - * - * @DECT_LLN_CLASS_U: Class U operation - * @DECT_LLN_CLASS_A: Class A operation - * @DECT_LLN_ASSIGNABLE*: Assignable LLN (class B operation) - * @DECT_LLN_UNASSIGNED: LLN unassigned (class B operation - * @DECT_LLN_ANY: wildcard - */ -enum dect_llns { - DECT_LLN_CLASS_U = 0, - DECT_LLN_CLASS_A = 1, - DECT_LLN_ASSIGNABLE_MIN = 2, - DECT_LLN_ASSIGNABLE_MAX = 6, - DECT_LLN_UNASSIGNED = 7, - DECT_LLN_ANY = 15, -}; - -/** - * struct sockaddr_dect_ssap - * - * @dect_family: family (AF_DECT) - * @dect_lln: logical link number - * @dect_sapi: service access point identifier - * @dect_class: class A/B - * @dect_index: cluster index - * @dect_ari: ARI - * @dect_pmid: PMID - * @dect_lcn: logical connection number - */ -struct sockaddr_dect_ssap { - sa_family_t dect_family; - __u8 dect_lln:4, - dect_sapi:3; - __u8 dect_class; - int dect_index; - __u64 dect_ari:40, - dect_pmid:20, - dect_lcn:3; -}; - -/* S-SAP primitives */ -#define DECT_DL_ENC_KEY 1 -#define DECT_DL_ENCRYPT 2 -#define DECT_DL_MAC_CONN_PARAMS 3 - -enum dect_cipher_states { - DECT_CIPHER_DISABLED, - DECT_CIPHER_ENABLED, -}; - -/** - * enum dect_mac_connection_types - MAC Connection types - * - * @DECT_MAC_CONN_BASIC: Basic connection, always I_N_min_delay service - * @DECT_MAC_CONN_ADVANCED: Advanced connection - * @DECT_MAC_CONN_COMPLEMENT: Complementary connection - */ -enum dect_mac_connection_types { - DECT_MAC_CONN_BASIC, - DECT_MAC_CONN_ADVANCED, - DECT_MAC_CONN_COMPLEMENT, -}; - -enum dect_mac_service_types { - DECT_SERVICE_IN_MIN_DELAY = 0x0, - DECT_SERVICE_IPX_ENCODED_PROTECTED = 0x1, - DECT_SERVICE_IN_NORMAL_DELAY = 0x2, - DECT_SERVICE_UNKNOWN = 0x4, - DECT_SERVICE_C_CHANNEL_ONLY = 0x5, - DECT_SERVICE_IP_ERROR_DETECTION = 0x10, - DECT_SERVICE_IPQ_ERROR_DETECTION = 0x14, - /* Lifetime encoded in low three bits */ - DECT_SERVICE_IP_ERROR_CORRECTION = 0x18, - DECT_SERVICE_IPQ_ERROR_CORRECTION = 0x38, -}; - -/** - * enum dect_slot_types - DECT slot types - * - * @DECT_FULL_SLOT: Full-slot format (480 bits) - * @DECT_HALF_SLOT: Half-slot format (240 bits) - * @DECT_DOUBLE_SLOT: Double-slot format (960 bits) - * @DECT_LONG_SLOT_j640: Long slot format j=640 (800 bits) - * @DECT_LONG_SLOT_j672: Long slot format j=672 (832 bits) - * - * The numeric values must match the MAC-layer attributes-T coding. - */ -enum dect_slot_types { - DECT_FULL_SLOT = 0x0, - DECT_HALF_SLOT = 0x1, - DECT_DOUBLE_SLOT = 0x2, - DECT_LONG_SLOT_640 = 0x3, - DECT_LONG_SLOT_672 = 0x4, -}; - -struct dect_mac_conn_params { - enum dect_mac_connection_types type; - enum dect_mac_service_types service; - enum dect_slot_types slot; -}; - -/** - * struct dect_dl_encrypt - DL_ENCRYPT primitive arguments - * - * @status: desired/achieved encryption status - */ -struct dect_dl_encrypt { - enum dect_cipher_states status; -}; - -/** - * struct sockaddr_dect_lu - DLC U-plane LUx service instance address - * - * @dect_family: address family (AF_DECT) - * @dect_mci: MAC Connection Identifier - */ -struct sockaddr_dect_lu { - sa_family_t dect_family; - int dect_index; - __u64 dect_ari:40, - dect_pmid:20, - dect_lcn:3; -}; - -/* LU1 SAP */ - -#define DECT_LU1_QUEUE_STATS 0 - -struct dect_lu1_queue_stats { - __u32 rx_bytes; - __u32 rx_underflow; - __u32 tx_bytes; - __u32 tx_underflow; -}; - -#endif /* _LINUX_DECT_H */ diff --git a/include/linux/dect_netlink.h b/include/linux/dect_netlink.h deleted file mode 100644 index 7c01acabf39..00000000000 --- a/include/linux/dect_netlink.h +++ /dev/null @@ -1,397 +0,0 @@ -#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 */ diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild index 4e67194fd2c..7c71787581c 100644 --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild @@ -89,6 +89,8 @@ header-y += cyclades.h header-y += cycx_cfm.h header-y += dcbnl.h header-y += dccp.h +header-y += dect.h +header-y += dect_netlink.h header-y += dlm.h header-y += dlm_device.h header-y += dlm_netlink.h diff --git a/include/uapi/linux/dect.h b/include/uapi/linux/dect.h new file mode 100644 index 00000000000..e458a9c944e --- /dev/null +++ b/include/uapi/linux/dect.h @@ -0,0 +1,206 @@ +#ifndef _LINUX_DECT_H +#define _LINUX_DECT_H + +#define DECTNAMSIZ 16 + +#include +#include + +/* these have to be macros in order to be usable for module aliases */ +#define DECT_RAW 0 /* raw frames */ +#define DECT_B_SAP 1 /* DLC Broadcast Service */ +#define DECT_S_SAP 2 /* DLC Data Link Service */ +#define DECT_LU1_SAP 3 /* LU1 sockets */ +#define DECT_PROTO_NUM 4 + +/** + * struct sockaddr_dect + * + * @dect_family: address family (AF_DECT) + * @dect_index: cluster index + */ +struct sockaddr_dect { + sa_family_t dect_family; + int dect_index; +}; + +/* raw sockets */ + +#define DECT_RAW_AUXDATA 0 + +/** + * struct dect_raw_auxdata - raw socket auxiliary frame data + * + * @mfn: multi-frame number + * @frame: frame number + * @slot: slot numer + * @rssi: receive signal strength indicator + */ +struct dect_raw_auxdata { + __u32 mfn; + __u8 frame; + __u8 slot; + __u8 rssi; +}; + +#define DECT_BSAP_AUXDATA 0 + +/** + * struct dect_bsap_auxdata + * + * @long_page: message contains a long page + */ +struct dect_bsap_auxdata { + __u8 long_page; +}; + +/** + * enum dect_sapis - S SAP Identifier + * + * @DECT_SAPI_CO_SIGNALLING: connection oriented signalling + * @DECT_SAPI_CL_SIGNALLING: connectionless signalling + * @DECT_SAPI_ANY: wildcard + */ +enum dect_sapis { + DECT_SAPI_CO_SIGNALLING = 0, + DECT_SAPI_CL_SIGNALLING = 3, + DECT_SAPI_ANY = 7, +}; + +/** + * enum dect_llns - Logical Link Numbers + * + * @DECT_LLN_CLASS_U: Class U operation + * @DECT_LLN_CLASS_A: Class A operation + * @DECT_LLN_ASSIGNABLE*: Assignable LLN (class B operation) + * @DECT_LLN_UNASSIGNED: LLN unassigned (class B operation + * @DECT_LLN_ANY: wildcard + */ +enum dect_llns { + DECT_LLN_CLASS_U = 0, + DECT_LLN_CLASS_A = 1, + DECT_LLN_ASSIGNABLE_MIN = 2, + DECT_LLN_ASSIGNABLE_MAX = 6, + DECT_LLN_UNASSIGNED = 7, + DECT_LLN_ANY = 15, +}; + +/** + * struct sockaddr_dect_ssap + * + * @dect_family: family (AF_DECT) + * @dect_lln: logical link number + * @dect_sapi: service access point identifier + * @dect_class: class A/B + * @dect_index: cluster index + * @dect_ari: ARI + * @dect_pmid: PMID + * @dect_lcn: logical connection number + */ +struct sockaddr_dect_ssap { + sa_family_t dect_family; + __u8 dect_lln:4, + dect_sapi:3; + __u8 dect_class; + int dect_index; + __u64 dect_ari:40, + dect_pmid:20, + dect_lcn:3; +}; + +/* S-SAP primitives */ +#define DECT_DL_ENC_KEY 1 +#define DECT_DL_ENCRYPT 2 +#define DECT_DL_MAC_CONN_PARAMS 3 + +enum dect_cipher_states { + DECT_CIPHER_DISABLED, + DECT_CIPHER_ENABLED, +}; + +/** + * enum dect_mac_connection_types - MAC Connection types + * + * @DECT_MAC_CONN_BASIC: Basic connection, always I_N_min_delay service + * @DECT_MAC_CONN_ADVANCED: Advanced connection + * @DECT_MAC_CONN_COMPLEMENT: Complementary connection + */ +enum dect_mac_connection_types { + DECT_MAC_CONN_BASIC, + DECT_MAC_CONN_ADVANCED, + DECT_MAC_CONN_COMPLEMENT, +}; + +enum dect_mac_service_types { + DECT_SERVICE_IN_MIN_DELAY = 0x0, + DECT_SERVICE_IPX_ENCODED_PROTECTED = 0x1, + DECT_SERVICE_IN_NORMAL_DELAY = 0x2, + DECT_SERVICE_UNKNOWN = 0x4, + DECT_SERVICE_C_CHANNEL_ONLY = 0x5, + DECT_SERVICE_IP_ERROR_DETECTION = 0x10, + DECT_SERVICE_IPQ_ERROR_DETECTION = 0x14, + /* Lifetime encoded in low three bits */ + DECT_SERVICE_IP_ERROR_CORRECTION = 0x18, + DECT_SERVICE_IPQ_ERROR_CORRECTION = 0x38, +}; + +/** + * enum dect_slot_types - DECT slot types + * + * @DECT_FULL_SLOT: Full-slot format (480 bits) + * @DECT_HALF_SLOT: Half-slot format (240 bits) + * @DECT_DOUBLE_SLOT: Double-slot format (960 bits) + * @DECT_LONG_SLOT_j640: Long slot format j=640 (800 bits) + * @DECT_LONG_SLOT_j672: Long slot format j=672 (832 bits) + * + * The numeric values must match the MAC-layer attributes-T coding. + */ +enum dect_slot_types { + DECT_FULL_SLOT = 0x0, + DECT_HALF_SLOT = 0x1, + DECT_DOUBLE_SLOT = 0x2, + DECT_LONG_SLOT_640 = 0x3, + DECT_LONG_SLOT_672 = 0x4, +}; + +struct dect_mac_conn_params { + enum dect_mac_connection_types type; + enum dect_mac_service_types service; + enum dect_slot_types slot; +}; + +/** + * struct dect_dl_encrypt - DL_ENCRYPT primitive arguments + * + * @status: desired/achieved encryption status + */ +struct dect_dl_encrypt { + enum dect_cipher_states status; +}; + +/** + * struct sockaddr_dect_lu - DLC U-plane LUx service instance address + * + * @dect_family: address family (AF_DECT) + * @dect_mci: MAC Connection Identifier + */ +struct sockaddr_dect_lu { + sa_family_t dect_family; + int dect_index; + __u64 dect_ari:40, + dect_pmid:20, + dect_lcn:3; +}; + +/* LU1 SAP */ + +#define DECT_LU1_QUEUE_STATS 0 + +struct dect_lu1_queue_stats { + __u32 rx_bytes; + __u32 rx_underflow; + __u32 tx_bytes; + __u32 tx_underflow; +}; + +#endif /* _LINUX_DECT_H */ 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 */ -- cgit v1.2.3