18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* net/atm/common.h - ATM sockets (common part for PVC and SVC) */ 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ci/* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#ifndef NET_ATM_COMMON_H 88c2ecf20Sopenharmony_ci#define NET_ATM_COMMON_H 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci#include <linux/net.h> 118c2ecf20Sopenharmony_ci#include <linux/poll.h> /* for poll_table */ 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ciint vcc_create(struct net *net, struct socket *sock, int protocol, int family, int kern); 158c2ecf20Sopenharmony_ciint vcc_release(struct socket *sock); 168c2ecf20Sopenharmony_ciint vcc_connect(struct socket *sock, int itf, short vpi, int vci); 178c2ecf20Sopenharmony_ciint vcc_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, 188c2ecf20Sopenharmony_ci int flags); 198c2ecf20Sopenharmony_ciint vcc_sendmsg(struct socket *sock, struct msghdr *m, size_t total_len); 208c2ecf20Sopenharmony_ci__poll_t vcc_poll(struct file *file, struct socket *sock, poll_table *wait); 218c2ecf20Sopenharmony_ciint vcc_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg); 228c2ecf20Sopenharmony_ciint vcc_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg); 238c2ecf20Sopenharmony_ciint vcc_setsockopt(struct socket *sock, int level, int optname, 248c2ecf20Sopenharmony_ci sockptr_t optval, unsigned int optlen); 258c2ecf20Sopenharmony_ciint vcc_getsockopt(struct socket *sock, int level, int optname, 268c2ecf20Sopenharmony_ci char __user *optval, int __user *optlen); 278c2ecf20Sopenharmony_civoid vcc_process_recv_queue(struct atm_vcc *vcc); 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ciint atmpvc_init(void); 308c2ecf20Sopenharmony_civoid atmpvc_exit(void); 318c2ecf20Sopenharmony_ciint atmsvc_init(void); 328c2ecf20Sopenharmony_civoid atmsvc_exit(void); 338c2ecf20Sopenharmony_ciint atm_sysfs_init(void); 348c2ecf20Sopenharmony_civoid atm_sysfs_exit(void); 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci#ifdef CONFIG_PROC_FS 378c2ecf20Sopenharmony_ciint atm_proc_init(void); 388c2ecf20Sopenharmony_civoid atm_proc_exit(void); 398c2ecf20Sopenharmony_ci#else 408c2ecf20Sopenharmony_cistatic inline int atm_proc_init(void) 418c2ecf20Sopenharmony_ci{ 428c2ecf20Sopenharmony_ci return 0; 438c2ecf20Sopenharmony_ci} 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_cistatic inline void atm_proc_exit(void) 468c2ecf20Sopenharmony_ci{ 478c2ecf20Sopenharmony_ci /* nothing */ 488c2ecf20Sopenharmony_ci} 498c2ecf20Sopenharmony_ci#endif /* CONFIG_PROC_FS */ 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci/* SVC */ 528c2ecf20Sopenharmony_ciint svc_change_qos(struct atm_vcc *vcc,struct atm_qos *qos); 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_civoid atm_dev_release_vccs(struct atm_dev *dev); 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci#endif 57