History

UAPI: (Scripted) Disintegrate include/linux/caif

David Howells committed 14 years ago

Commit 27a3aad1 parent 9e2d8654 files · +2 −2Browse files

Showing the changes to include/uapi/linux (3 of 4 files). Show all

Unified · Split

3 files
  1. include/uapi/linux/caif/Kbuild +2 −0
  2. include/uapi/linux/caif/caif_socket.h +194 −0
  3. include/uapi/linux/caif/if_caif.h +34 −0
include/uapi/linux/caif/Kbuild+2−0
@@ -1 +1,3 @@
11 # UAPI Header export list
2+header-y += caif_socket.h
3+header-y += if_caif.h
include/uapi/linux/caif/caif_socket.h+194−0
@@ -0,0 +1,194 @@
1+/* linux/caif_socket.h
2+ * CAIF Definitions for CAIF socket and network layer
3+ * Copyright (C) ST-Ericsson AB 2010
4+ * Author: Sjur Brendeland/ sjur.brandeland@stericsson.com
5+ * License terms: GNU General Public License (GPL) version 2
6+ */
7+
8+#ifndef _LINUX_CAIF_SOCKET_H
9+#define _LINUX_CAIF_SOCKET_H
10+
11+#include <linux/types.h>
12+#include <linux/socket.h>
13+
14+/**
15+ * enum caif_link_selector - Physical Link Selection.
16+ * @CAIF_LINK_HIGH_BANDW: Physical interface for high-bandwidth
17+ * traffic.
18+ * @CAIF_LINK_LOW_LATENCY: Physical interface for low-latency
19+ * traffic.
20+ *
21+ * CAIF Link Layers can register their link properties.
22+ * This enum is used for choosing between CAIF Link Layers when
23+ * setting up CAIF Channels when multiple CAIF Link Layers exists.
24+ */
25+enum caif_link_selector {
26+ CAIF_LINK_HIGH_BANDW,
27+ CAIF_LINK_LOW_LATENCY
28+};
29+
30+/**
31+ * enum caif_channel_priority - CAIF channel priorities.
32+ *
33+ * @CAIF_PRIO_MIN: Min priority for a channel.
34+ * @CAIF_PRIO_LOW: Low-priority channel.
35+ * @CAIF_PRIO_NORMAL: Normal/default priority level.
36+ * @CAIF_PRIO_HIGH: High priority level
37+ * @CAIF_PRIO_MAX: Max priority for channel
38+ *
39+ * Priority can be set on CAIF Channels in order to
40+ * prioritize between traffic on different CAIF Channels.
41+ * These priority levels are recommended, but the priority value
42+ * is not restricted to the values defined in this enum, any value
43+ * between CAIF_PRIO_MIN and CAIF_PRIO_MAX could be used.
44+ */
45+enum caif_channel_priority {
46+ CAIF_PRIO_MIN = 0x01,
47+ CAIF_PRIO_LOW = 0x04,
48+ CAIF_PRIO_NORMAL = 0x0f,
49+ CAIF_PRIO_HIGH = 0x14,
50+ CAIF_PRIO_MAX = 0x1F
51+};
52+
53+/**
54+ * enum caif_protocol_type - CAIF Channel type.
55+ * @CAIFPROTO_AT: Classic AT channel.
56+ * @CAIFPROTO_DATAGRAM: Datagram channel.
57+ * @CAIFPROTO_DATAGRAM_LOOP: Datagram loopback channel, used for testing.
58+ * @CAIFPROTO_UTIL: Utility (Psock) channel.
59+ * @CAIFPROTO_RFM: Remote File Manager
60+ * @CAIFPROTO_DEBUG: Debug link
61+ *
62+ * This enum defines the CAIF Channel type to be used. This defines
63+ * the service to connect to on the modem.
64+ */
65+enum caif_protocol_type {
66+ CAIFPROTO_AT,
67+ CAIFPROTO_DATAGRAM,
68+ CAIFPROTO_DATAGRAM_LOOP,
69+ CAIFPROTO_UTIL,
70+ CAIFPROTO_RFM,
71+ CAIFPROTO_DEBUG,
72+ _CAIFPROTO_MAX
73+};
74+#define CAIFPROTO_MAX _CAIFPROTO_MAX
75+
76+/**
77+ * enum caif_at_type - AT Service Endpoint
78+ * @CAIF_ATTYPE_PLAIN: Connects to a plain vanilla AT channel.
79+ */
80+enum caif_at_type {
81+ CAIF_ATTYPE_PLAIN = 2
82+};
83+ /**
84+ * enum caif_debug_type - Content selection for debug connection
85+ * @CAIF_DEBUG_TRACE_INTERACTIVE: Connection will contain
86+ * both trace and interactive debug.
87+ * @CAIF_DEBUG_TRACE: Connection contains trace only.
88+ * @CAIF_DEBUG_INTERACTIVE: Connection to interactive debug.
89+ */
90+enum caif_debug_type {
91+ CAIF_DEBUG_TRACE_INTERACTIVE = 0,
92+ CAIF_DEBUG_TRACE,
93+ CAIF_DEBUG_INTERACTIVE,
94+};
95+
96+/**
97+ * enum caif_debug_service - Debug Service Endpoint
98+ * @CAIF_RADIO_DEBUG_SERVICE: Debug service on the Radio sub-system
99+ * @CAIF_APP_DEBUG_SERVICE: Debug for the applications sub-system
100+ */
101+enum caif_debug_service {
102+ CAIF_RADIO_DEBUG_SERVICE = 1,
103+ CAIF_APP_DEBUG_SERVICE
104+};
105+
106+/**
107+ * struct sockaddr_caif - the sockaddr structure for CAIF sockets.
108+ * @family: Address family number, must be AF_CAIF.
109+ * @u: Union of address data 'switched' by family.
110+ * :
111+ * @u.at: Applies when family = CAIFPROTO_AT.
112+ *
113+ * @u.at.type: Type of AT link to set up (enum caif_at_type).
114+ *
115+ * @u.util: Applies when family = CAIFPROTO_UTIL
116+ *
117+ * @u.util.service: Utility service name.
118+ *
119+ * @u.dgm: Applies when family = CAIFPROTO_DATAGRAM
120+ *
121+ * @u.dgm.connection_id: Datagram connection id.
122+ *
123+ * @u.dgm.nsapi: NSAPI of the PDP-Context.
124+ *
125+ * @u.rfm: Applies when family = CAIFPROTO_RFM
126+ *
127+ * @u.rfm.connection_id: Connection ID for RFM.
128+ *
129+ * @u.rfm.volume: Volume to mount.
130+ *
131+ * @u.dbg: Applies when family = CAIFPROTO_DEBUG.
132+ *
133+ * @u.dbg.type: Type of debug connection to set up
134+ * (caif_debug_type).
135+ *
136+ * @u.dbg.service: Service sub-system to connect (caif_debug_service
137+ * Description:
138+ * This structure holds the connect parameters used for setting up a
139+ * CAIF Channel. It defines the service to connect to on the modem.
140+ */
141+struct sockaddr_caif {
142+ __kernel_sa_family_t family;
143+ union {
144+ struct {
145+ __u8 type; /* type: enum caif_at_type */
146+ } at; /* CAIFPROTO_AT */
147+ struct {
148+ char service[16];
149+ } util; /* CAIFPROTO_UTIL */
150+ union {
151+ __u32 connection_id;
152+ __u8 nsapi;
153+ } dgm; /* CAIFPROTO_DATAGRAM(_LOOP)*/
154+ struct {
155+ __u32 connection_id;
156+ char volume[16];
157+ } rfm; /* CAIFPROTO_RFM */
158+ struct {
159+ __u8 type; /* type:enum caif_debug_type */
160+ __u8 service; /* service:caif_debug_service */
161+ } dbg; /* CAIFPROTO_DEBUG */
162+ } u;
163+};
164+
165+/**
166+ * enum caif_socket_opts - CAIF option values for getsockopt and setsockopt.
167+ *
168+ * @CAIFSO_LINK_SELECT: Selector used if multiple CAIF Link layers are
169+ * available. Either a high bandwidth
170+ * link can be selected (CAIF_LINK_HIGH_BANDW) or
171+ * or a low latency link (CAIF_LINK_LOW_LATENCY).
172+ * This option is of type __u32.
173+ * Alternatively SO_BINDTODEVICE can be used.
174+ *
175+ * @CAIFSO_REQ_PARAM: Used to set the request parameters for a
176+ * utility channel. (maximum 256 bytes). This
177+ * option must be set before connecting.
178+ *
179+ * @CAIFSO_RSP_PARAM: Gets the response parameters for a utility
180+ * channel. (maximum 256 bytes). This option
181+ * is valid after a successful connect.
182+ *
183+ *
184+ * This enum defines the CAIF Socket options to be used on a socket
185+ * of type PF_CAIF.
186+ *
187+ */
188+enum caif_socket_opts {
189+ CAIFSO_LINK_SELECT = 127,
190+ CAIFSO_REQ_PARAM = 128,
191+ CAIFSO_RSP_PARAM = 129,
192+};
193+
194+#endif /* _LINUX_CAIF_SOCKET_H */
include/uapi/linux/caif/if_caif.h+34−0
@@ -0,0 +1,34 @@
1+/*
2+ * Copyright (C) ST-Ericsson AB 2010
3+ * Author: Sjur Brendeland/ sjur.brandeland@stericsson.com
4+ * License terms: GNU General Public License (GPL) version 2
5+ */
6+
7+#ifndef IF_CAIF_H_
8+#define IF_CAIF_H_
9+#include <linux/sockios.h>
10+#include <linux/types.h>
11+#include <linux/socket.h>
12+
13+/**
14+ * enum ifla_caif - CAIF NetlinkRT parameters.
15+ * @IFLA_CAIF_IPV4_CONNID: Connection ID for IPv4 PDP Context.
16+ * The type of attribute is NLA_U32.
17+ * @IFLA_CAIF_IPV6_CONNID: Connection ID for IPv6 PDP Context.
18+ * The type of attribute is NLA_U32.
19+ * @IFLA_CAIF_LOOPBACK: If different from zero, device is doing loopback
20+ * The type of attribute is NLA_U8.
21+ *
22+ * When using RT Netlink to create, destroy or configure a CAIF IP interface,
23+ * enum ifla_caif is used to specify the configuration attributes.
24+ */
25+enum ifla_caif {
26+ __IFLA_CAIF_UNSPEC,
27+ IFLA_CAIF_IPV4_CONNID,
28+ IFLA_CAIF_IPV6_CONNID,
29+ IFLA_CAIF_LOOPBACK,
30+ __IFLA_CAIF_MAX
31+};
32+#define IFLA_CAIF_MAX (__IFLA_CAIF_MAX-1)
33+
34+#endif /*IF_CAIF_H_*/

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t