]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/net/iucv/af_iucv.h
hwmon: (adt7473) Fix voltage conversion routines
[linux-2.6-omap-h63xx.git] / include / net / iucv / af_iucv.h
index 04d1abb72d253094c9a209f3ad8b0a1a4b583252..85f80eadfa35fae702a8377dddebf9e92d6aaf12 100644 (file)
@@ -28,6 +28,7 @@ enum {
        IUCV_LISTEN,
        IUCV_SEVERED,
        IUCV_DISCONN,
+       IUCV_CLOSING,
        IUCV_CLOSED
 };
 
@@ -49,6 +50,12 @@ struct sockaddr_iucv {
 
 
 /* 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)
 
@@ -59,9 +66,12 @@ struct iucv_sock {
        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;
 };
 
@@ -71,29 +81,8 @@ struct iucv_sock_list {
        atomic_t          autobind_name;
 };
 
-static void iucv_sock_destruct(struct sock *sk);
-static void iucv_sock_cleanup_listen(struct sock *parent);
-static void iucv_sock_kill(struct sock *sk);
-static void iucv_sock_close(struct sock *sk);
-static int  iucv_sock_create(struct socket *sock, int proto);
-static int  iucv_sock_bind(struct socket *sock, struct sockaddr *addr,
-                       int addr_len);
-static int  iucv_sock_connect(struct socket *sock, struct sockaddr *addr,
-                             int alen, int flags);
-static int  iucv_sock_listen(struct socket *sock, int backlog);
-static int  iucv_sock_accept(struct socket *sock, struct socket *newsock,
-                            int flags);
-static int  iucv_sock_getname(struct socket *sock, struct sockaddr *addr,
-                             int *len, int peer);
-static int  iucv_sock_sendmsg(struct kiocb *iocb, struct socket *sock,
-                             struct msghdr *msg, size_t len);
-static int  iucv_sock_recvmsg(struct kiocb *iocb, struct socket *sock,
-                             struct msghdr *msg, size_t len, int flags);
 unsigned int iucv_sock_poll(struct file *file, struct socket *sock,
                            poll_table *wait);
-static int iucv_sock_release(struct socket *sock);
-static int iucv_sock_shutdown(struct socket *sock, int how);
-
 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,