1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* net/atm/common.h - ATM sockets (common part for PVC and SVC) */
4 /* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */
7 #ifndef NET_ATM_COMMON_H
8 #define NET_ATM_COMMON_H
10 #include <linux/net.h>
11 #include <linux/poll.h> /* for poll_table */
14 int vcc_create(struct net
*net
, struct socket
*sock
, int protocol
, int family
, int kern
);
15 int vcc_release(struct socket
*sock
);
16 int vcc_connect(struct socket
*sock
, int itf
, short vpi
, int vci
);
17 int vcc_recvmsg(struct socket
*sock
, struct msghdr
*msg
, size_t size
,
19 int vcc_sendmsg(struct socket
*sock
, struct msghdr
*m
, size_t total_len
);
20 __poll_t
vcc_poll(struct file
*file
, struct socket
*sock
, poll_table
*wait
);
21 int vcc_ioctl(struct socket
*sock
, unsigned int cmd
, unsigned long arg
);
22 int vcc_compat_ioctl(struct socket
*sock
, unsigned int cmd
, unsigned long arg
);
23 int vcc_setsockopt(struct socket
*sock
, int level
, int optname
,
24 char __user
*optval
, unsigned int optlen
);
25 int vcc_getsockopt(struct socket
*sock
, int level
, int optname
,
26 char __user
*optval
, int __user
*optlen
);
27 void vcc_process_recv_queue(struct atm_vcc
*vcc
);
29 int atmpvc_init(void);
30 void atmpvc_exit(void);
31 int atmsvc_init(void);
32 void atmsvc_exit(void);
33 int atm_sysfs_init(void);
34 void atm_sysfs_exit(void);
37 int atm_proc_init(void);
38 void atm_proc_exit(void);
40 static inline int atm_proc_init(void)
45 static inline void atm_proc_exit(void)
49 #endif /* CONFIG_PROC_FS */
52 int svc_change_qos(struct atm_vcc
*vcc
,struct atm_qos
*qos
);
54 void atm_dev_release_vccs(struct atm_dev
*dev
);