| lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame] | 1 | /* net/atm/common.h - ATM sockets (common part for PVC and SVC) */ | 
|  | 2 |  | 
|  | 3 | /* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */ | 
|  | 4 |  | 
|  | 5 |  | 
|  | 6 | #ifndef NET_ATM_COMMON_H | 
|  | 7 | #define NET_ATM_COMMON_H | 
|  | 8 |  | 
|  | 9 | #include <linux/net.h> | 
|  | 10 | #include <linux/poll.h> /* for poll_table */ | 
|  | 11 |  | 
|  | 12 |  | 
|  | 13 | int vcc_create(struct net *net, struct socket *sock, int protocol, int family); | 
|  | 14 | int vcc_release(struct socket *sock); | 
|  | 15 | int vcc_connect(struct socket *sock, int itf, short vpi, int vci); | 
|  | 16 | int vcc_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | 
|  | 17 | size_t size, int flags); | 
|  | 18 | int vcc_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *m, | 
|  | 19 | size_t total_len); | 
|  | 20 | unsigned int 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); | 
|  | 28 |  | 
|  | 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); | 
|  | 35 |  | 
|  | 36 | #ifdef CONFIG_PROC_FS | 
|  | 37 | int atm_proc_init(void); | 
|  | 38 | void atm_proc_exit(void); | 
|  | 39 | #else | 
|  | 40 | static inline int atm_proc_init(void) | 
|  | 41 | { | 
|  | 42 | return 0; | 
|  | 43 | } | 
|  | 44 |  | 
|  | 45 | static inline void atm_proc_exit(void) | 
|  | 46 | { | 
|  | 47 | /* nothing */ | 
|  | 48 | } | 
|  | 49 | #endif /* CONFIG_PROC_FS */ | 
|  | 50 |  | 
|  | 51 | /* SVC */ | 
|  | 52 | int svc_change_qos(struct atm_vcc *vcc,struct atm_qos *qos); | 
|  | 53 |  | 
|  | 54 | void atm_dev_release_vccs(struct atm_dev *dev); | 
|  | 55 |  | 
|  | 56 | #endif |