162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* net/atm/common.h - ATM sockets (common part for PVC and SVC) */ 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci/* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#ifndef NET_ATM_COMMON_H 862306a36Sopenharmony_ci#define NET_ATM_COMMON_H 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#include <linux/net.h> 1162306a36Sopenharmony_ci#include <linux/poll.h> /* for poll_table */ 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciint vcc_create(struct net *net, struct socket *sock, int protocol, int family, int kern); 1562306a36Sopenharmony_ciint vcc_release(struct socket *sock); 1662306a36Sopenharmony_ciint vcc_connect(struct socket *sock, int itf, short vpi, int vci); 1762306a36Sopenharmony_ciint vcc_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, 1862306a36Sopenharmony_ci int flags); 1962306a36Sopenharmony_ciint vcc_sendmsg(struct socket *sock, struct msghdr *m, size_t total_len); 2062306a36Sopenharmony_ci__poll_t vcc_poll(struct file *file, struct socket *sock, poll_table *wait); 2162306a36Sopenharmony_ciint vcc_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg); 2262306a36Sopenharmony_ciint vcc_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg); 2362306a36Sopenharmony_ciint vcc_setsockopt(struct socket *sock, int level, int optname, 2462306a36Sopenharmony_ci sockptr_t optval, unsigned int optlen); 2562306a36Sopenharmony_ciint vcc_getsockopt(struct socket *sock, int level, int optname, 2662306a36Sopenharmony_ci char __user *optval, int __user *optlen); 2762306a36Sopenharmony_civoid vcc_process_recv_queue(struct atm_vcc *vcc); 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciint atmpvc_init(void); 3062306a36Sopenharmony_civoid atmpvc_exit(void); 3162306a36Sopenharmony_ciint atmsvc_init(void); 3262306a36Sopenharmony_civoid atmsvc_exit(void); 3362306a36Sopenharmony_ciint atm_sysfs_init(void); 3462306a36Sopenharmony_civoid atm_sysfs_exit(void); 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci#ifdef CONFIG_PROC_FS 3762306a36Sopenharmony_ciint atm_proc_init(void); 3862306a36Sopenharmony_civoid atm_proc_exit(void); 3962306a36Sopenharmony_ci#else 4062306a36Sopenharmony_cistatic inline int atm_proc_init(void) 4162306a36Sopenharmony_ci{ 4262306a36Sopenharmony_ci return 0; 4362306a36Sopenharmony_ci} 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_cistatic inline void atm_proc_exit(void) 4662306a36Sopenharmony_ci{ 4762306a36Sopenharmony_ci /* nothing */ 4862306a36Sopenharmony_ci} 4962306a36Sopenharmony_ci#endif /* CONFIG_PROC_FS */ 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci/* SVC */ 5262306a36Sopenharmony_ciint svc_change_qos(struct atm_vcc *vcc,struct atm_qos *qos); 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_civoid atm_dev_release_vccs(struct atm_dev *dev); 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci#endif 57