2023-08-30 17:31:07 +02:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
|
|
#ifndef _LINUX_GSMMUX_H
|
|
|
|
#define _LINUX_GSMMUX_H
|
|
|
|
|
|
|
|
#include <linux/if.h>
|
|
|
|
#include <linux/ioctl.h>
|
|
|
|
#include <linux/types.h>
|
|
|
|
|
|
|
|
struct gsm_config
|
|
|
|
{
|
|
|
|
unsigned int adaption;
|
|
|
|
unsigned int encapsulation;
|
|
|
|
unsigned int initiator;
|
|
|
|
unsigned int t1;
|
|
|
|
unsigned int t2;
|
|
|
|
unsigned int t3;
|
|
|
|
unsigned int n2;
|
|
|
|
unsigned int mru;
|
|
|
|
unsigned int mtu;
|
|
|
|
unsigned int k;
|
|
|
|
unsigned int i;
|
|
|
|
unsigned int unused[8]; /* Can not be used */
|
|
|
|
};
|
|
|
|
|
|
|
|
#define GSMIOC_GETCONF _IOR('G', 0, struct gsm_config)
|
|
|
|
#define GSMIOC_SETCONF _IOW('G', 1, struct gsm_config)
|
|
|
|
|
|
|
|
struct gsm_netconfig {
|
|
|
|
unsigned int adaption; /* Adaption to use in network mode */
|
|
|
|
unsigned short protocol;/* Protocol to use - only ETH_P_IP supported */
|
|
|
|
unsigned short unused2; /* Can not be used */
|
|
|
|
char if_name[IFNAMSIZ]; /* interface name format string */
|
|
|
|
__u8 unused[28]; /* Can not be used */
|
|
|
|
};
|
|
|
|
|
|
|
|
#define GSMIOC_ENABLE_NET _IOW('G', 2, struct gsm_netconfig)
|
|
|
|
#define GSMIOC_DISABLE_NET _IO('G', 3)
|
|
|
|
|
|
|
|
/* get the base tty number for a configured gsmmux tty */
|
|
|
|
#define GSMIOC_GETFIRST _IOR('G', 4, __u32)
|
|
|
|
|
|
|
|
struct gsm_config_ext {
|
|
|
|
__u32 keep_alive; /* Control channel keep-alive in 1/100th of a
|
|
|
|
* second (0 to disable)
|
|
|
|
*/
|
2023-10-24 12:59:35 +02:00
|
|
|
__u32 wait_config; /* Wait for DLCI config before opening virtual link? */
|
|
|
|
__u32 reserved[6]; /* For future use, must be initialized to zero */
|
2023-08-30 17:31:07 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#define GSMIOC_GETCONF_EXT _IOR('G', 5, struct gsm_config_ext)
|
|
|
|
#define GSMIOC_SETCONF_EXT _IOW('G', 6, struct gsm_config_ext)
|
|
|
|
|
2023-10-24 12:59:35 +02:00
|
|
|
/* Set channel accordingly before calling GSMIOC_GETCONF_DLCI. */
|
|
|
|
struct gsm_dlci_config {
|
|
|
|
__u32 channel; /* DLCI (0 for the associated DLCI) */
|
|
|
|
__u32 adaption; /* Convergence layer type */
|
|
|
|
__u32 mtu; /* Maximum transfer unit */
|
|
|
|
__u32 priority; /* Priority (0 for default value) */
|
|
|
|
__u32 i; /* Frame type (1 = UIH, 2 = UI) */
|
|
|
|
__u32 k; /* Window size (0 for default value) */
|
|
|
|
__u32 reserved[8]; /* For future use, must be initialized to zero */
|
|
|
|
};
|
|
|
|
|
|
|
|
#define GSMIOC_GETCONF_DLCI _IOWR('G', 7, struct gsm_dlci_config)
|
|
|
|
#define GSMIOC_SETCONF_DLCI _IOW('G', 8, struct gsm_dlci_config)
|
|
|
|
|
2023-08-30 17:31:07 +02:00
|
|
|
#endif
|