af_iucv.h
来自「linux 内核源代码」· C头文件 代码 · 共 96 行
H
96 行
/* * Copyright 2006 IBM Corporation * IUCV protocol stack for Linux on zSeries * Version 1.0 * Author(s): Jennifer Hunt <jenhunt@us.ibm.com> * */#ifndef __AFIUCV_H#define __AFIUCV_H#include <asm/types.h>#include <asm/byteorder.h>#include <linux/list.h>#include <linux/poll.h>#include <linux/socket.h>#ifndef AF_IUCV#define AF_IUCV 32#define PF_IUCV AF_IUCV#endif/* Connection and socket states */enum { IUCV_CONNECTED = 1, IUCV_OPEN, IUCV_BOUND, IUCV_LISTEN, IUCV_SEVERED, IUCV_DISCONN, IUCV_CLOSING, IUCV_CLOSED};#define IUCV_QUEUELEN_DEFAULT 65535#define IUCV_CONN_TIMEOUT (HZ * 40)#define IUCV_DISCONN_TIMEOUT (HZ * 2)#define IUCV_CONN_IDLE_TIMEOUT (HZ * 60)#define IUCV_BUFSIZE_DEFAULT 32768/* IUCV socket address */struct sockaddr_iucv { sa_family_t siucv_family; unsigned short siucv_port; /* Reserved */ unsigned int siucv_addr; /* Reserved */ char siucv_nodeid[8]; /* Reserved */ char siucv_user_id[8]; /* Guest User Id */ char siucv_name[8]; /* Application Name */};/* Common socket structures and functions */struct sock_msg_q { struct iucv_path *path; struct iucv_message msg; struct list_head list; spinlock_t lock;};#define iucv_sk(__sk) ((struct iucv_sock *) __sk)struct iucv_sock { struct sock sk; char src_user_id[8]; char src_name[8]; char dst_user_id[8]; char dst_name[8]; struct list_head accept_q; spinlock_t accept_q_lock; struct sock *parent; struct iucv_path *path; struct sk_buff_head send_skb_q; struct sk_buff_head backlog_skb_q; struct sock_msg_q message_q; unsigned int send_tag;};struct iucv_sock_list { struct hlist_head head; rwlock_t lock; atomic_t autobind_name;};unsigned int iucv_sock_poll(struct file *file, struct socket *sock, poll_table *wait);void iucv_sock_link(struct iucv_sock_list *l, struct sock *s);void iucv_sock_unlink(struct iucv_sock_list *l, struct sock *s);int iucv_sock_wait_state(struct sock *sk, int state, int state2, unsigned long timeo);int iucv_sock_wait_cnt(struct sock *sk, unsigned long timeo);void iucv_accept_enqueue(struct sock *parent, struct sock *sk);void iucv_accept_unlink(struct sock *sk);struct sock *iucv_accept_dequeue(struct sock *parent, struct socket *newsock);#endif /* __IUCV_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?