1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef _LINUX_GSMMUX_H
3 #define _LINUX_GSMMUX_H
4 
5 #include <linux/if.h>
6 #include <sys/ioctl.h>
7 #include <linux/types.h>
8 
9 struct gsm_config
10 {
11 	unsigned int adaption;
12 	unsigned int encapsulation;
13 	unsigned int initiator;
14 	unsigned int t1;
15 	unsigned int t2;
16 	unsigned int t3;
17 	unsigned int n2;
18 	unsigned int mru;
19 	unsigned int mtu;
20 	unsigned int k;
21 	unsigned int i;
22 	unsigned int unused[8];		/* Padding for expansion without
23 					   breaking stuff */
24 };
25 
26 #define GSMIOC_GETCONF		_IOR('G', 0, struct gsm_config)
27 #define GSMIOC_SETCONF		_IOW('G', 1, struct gsm_config)
28 
29 struct gsm_netconfig {
30 	unsigned int adaption;  /* Adaption to use in network mode */
31 	unsigned short protocol;/* Protocol to use - only ETH_P_IP supported */
32 	unsigned short unused2;
33 	char if_name[IFNAMSIZ];	/* interface name format string */
34 	uint8_t unused[28];        /* For future use */
35 };
36 
37 #define GSMIOC_ENABLE_NET      _IOW('G', 2, struct gsm_netconfig)
38 #define GSMIOC_DISABLE_NET     _IO('G', 3)
39 
40 /* get the base tty number for a configured gsmmux tty */
41 #define GSMIOC_GETFIRST		_IOR('G', 4, uint32_t)
42 
43 #endif
44