Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
af_iucv.c File Reference
#include <linux/module.h>
#include <linux/types.h>
#include <linux/list.h>
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/slab.h>
#include <linux/skbuff.h>
#include <linux/init.h>
#include <linux/poll.h>
#include <net/sock.h>
#include <asm/ebcdic.h>
#include <asm/cpcmd.h>
#include <linux/kmod.h>
#include <net/iucv/af_iucv.h>

Go to the source code of this file.

Macros

#define KMSG_COMPONENT   "af_iucv"
 
#define pr_fmt(fmt)   KMSG_COMPONENT ": " fmt
 
#define VERSION   "1.2"
 
#define TRGCLS_SIZE   (sizeof(((struct iucv_message *)0)->class))
 
#define CB_TAG(skb)   ((skb)->cb) /* iucv message tag */
 
#define CB_TAG_LEN   (sizeof(((struct iucv_message *) 0)->tag))
 
#define CB_TRGCLS(skb)   ((skb)->cb + CB_TAG_LEN) /* iucv msg target class */
 
#define CB_TRGCLS_LEN   (TRGCLS_SIZE)
 
#define __iucv_sock_wait(sk, condition, timeo, ret)
 
#define iucv_sock_wait(sk, condition, timeo)
 

Functions

void iucv_sock_link (struct iucv_sock_list *l, struct sock *sk)
 
void iucv_sock_unlink (struct iucv_sock_list *l, struct sock *sk)
 
void iucv_accept_enqueue (struct sock *parent, struct sock *sk)
 
void iucv_accept_unlink (struct sock *sk)
 
struct sockiucv_accept_dequeue (struct sock *parent, struct socket *newsock)
 
unsigned int iucv_sock_poll (struct file *file, struct socket *sock, poll_table *wait)
 
 module_init (afiucv_init)
 
 module_exit (afiucv_exit)
 
 MODULE_AUTHOR ("Jennifer Hunt <[email protected]>")
 
 MODULE_DESCRIPTION ("IUCV Sockets ver "VERSION)
 
 MODULE_VERSION (VERSION)
 
 MODULE_LICENSE ("GPL")
 
 MODULE_ALIAS_NETPROTO (PF_IUCV)
 

Macro Definition Documentation

#define __iucv_sock_wait (   sk,
  condition,
  timeo,
  ret 
)
Value:
do { \
DEFINE_WAIT(__wait); \
long __timeo = timeo; \
ret = 0; \
prepare_to_wait(sk_sleep(sk), &__wait, TASK_INTERRUPTIBLE); \
while (!(condition)) { \
if (!__timeo) { \
ret = -EAGAIN; \
break; \
} \
if (signal_pending(current)) { \
ret = sock_intr_errno(__timeo); \
break; \
} \
release_sock(sk); \
__timeo = schedule_timeout(__timeo); \
lock_sock(sk); \
ret = sock_error(sk); \
if (ret) \
break; \
} \
finish_wait(sk_sleep(sk), &__wait); \
} while (0)

Definition at line 58 of file af_iucv.c.

#define CB_TAG (   skb)    ((skb)->cb) /* iucv message tag */

Definition at line 53 of file af_iucv.c.

#define CB_TAG_LEN   (sizeof(((struct iucv_message *) 0)->tag))

Definition at line 54 of file af_iucv.c.

#define CB_TRGCLS (   skb)    ((skb)->cb + CB_TAG_LEN) /* iucv msg target class */

Definition at line 55 of file af_iucv.c.

#define CB_TRGCLS_LEN   (TRGCLS_SIZE)

Definition at line 56 of file af_iucv.c.

#define iucv_sock_wait (   sk,
  condition,
  timeo 
)
Value:
({ \
int __ret = 0; \
if (!(condition)) \
__iucv_sock_wait(sk, condition, timeo, __ret); \
__ret; \
})

Definition at line 83 of file af_iucv.c.

#define KMSG_COMPONENT   "af_iucv"

Definition at line 12 of file af_iucv.c.

#define pr_fmt (   fmt)    KMSG_COMPONENT ": " fmt

Definition at line 13 of file af_iucv.c.

#define TRGCLS_SIZE   (sizeof(((struct iucv_message *)0)->class))

Definition at line 50 of file af_iucv.c.

#define VERSION   "1.2"

Definition at line 32 of file af_iucv.c.

Function Documentation

struct sock* iucv_accept_dequeue ( struct sock parent,
struct socket newsock 
)
read

Definition at line 663 of file af_iucv.c.

void iucv_accept_enqueue ( struct sock parent,
struct sock sk 
)

Definition at line 637 of file af_iucv.c.

void iucv_accept_unlink ( struct sock sk)

Definition at line 650 of file af_iucv.c.

void iucv_sock_link ( struct iucv_sock_list l,
struct sock sk 
)

Definition at line 623 of file af_iucv.c.

unsigned int iucv_sock_poll ( struct file file,
struct socket sock,
poll_table wait 
)

Definition at line 1455 of file af_iucv.c.

void iucv_sock_unlink ( struct iucv_sock_list l,
struct sock sk 
)

Definition at line 630 of file af_iucv.c.

MODULE_ALIAS_NETPROTO ( PF_IUCV  )
MODULE_AUTHOR ( "Jennifer Hunt <[email protected]>"  )
MODULE_DESCRIPTION ( "IUCV Sockets ver VERSION)
module_exit ( afiucv_exit  )
module_init ( afiucv_init  )
MODULE_LICENSE ( "GPL"  )
MODULE_VERSION ( VERSION  )