1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _LINUX_CAIF_SOCKET_H
20 #define _LINUX_CAIF_SOCKET_H
21 #include <linux/types.h>
22 #include <linux/socket.h>
23 enum caif_link_selector {
24   CAIF_LINK_HIGH_BANDW,
25   CAIF_LINK_LOW_LATENCY
26 };
27 enum caif_channel_priority {
28   CAIF_PRIO_MIN = 0x01,
29   CAIF_PRIO_LOW = 0x04,
30   CAIF_PRIO_NORMAL = 0x0f,
31   CAIF_PRIO_HIGH = 0x14,
32   CAIF_PRIO_MAX = 0x1F
33 };
34 enum caif_protocol_type {
35   CAIFPROTO_AT,
36   CAIFPROTO_DATAGRAM,
37   CAIFPROTO_DATAGRAM_LOOP,
38   CAIFPROTO_UTIL,
39   CAIFPROTO_RFM,
40   CAIFPROTO_DEBUG,
41   _CAIFPROTO_MAX
42 };
43 #define CAIFPROTO_MAX _CAIFPROTO_MAX
44 enum caif_at_type {
45   CAIF_ATTYPE_PLAIN = 2
46 };
47 enum caif_debug_type {
48   CAIF_DEBUG_TRACE_INTERACTIVE = 0,
49   CAIF_DEBUG_TRACE,
50   CAIF_DEBUG_INTERACTIVE,
51 };
52 enum caif_debug_service {
53   CAIF_RADIO_DEBUG_SERVICE = 1,
54   CAIF_APP_DEBUG_SERVICE
55 };
56 struct sockaddr_caif {
57   __kernel_sa_family_t family;
58   union {
59     struct {
60       __u8 type;
61     } at;
62     struct {
63       char service[16];
64     } util;
65     union {
66       __u32 connection_id;
67       __u8 nsapi;
68     } dgm;
69     struct {
70       __u32 connection_id;
71       char volume[16];
72     } rfm;
73     struct {
74       __u8 type;
75       __u8 service;
76     } dbg;
77   } u;
78 };
79 enum caif_socket_opts {
80   CAIFSO_LINK_SELECT = 127,
81   CAIFSO_REQ_PARAM = 128,
82   CAIFSO_RSP_PARAM = 129,
83 };
84 #endif
85