Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 #ifndef __ASM_GENERIC_MSGBUF_H
  2 #define __ASM_GENERIC_MSGBUF_H
  3 
  4 #include <asm/bitsperlong.h>
  5 /*
  6  * generic msqid64_ds structure.
  7  *
  8  * Note extra padding because this structure is passed back and forth
  9  * between kernel and user space.
 10  *
 11  * msqid64_ds was originally meant to be architecture specific, but
 12  * everyone just ended up making identical copies without specific
 13  * optimizations, so we may just as well all use the same one.
 14  *
 15  * 64 bit architectures typically define a 64 bit __kernel_time_t,
 16  * so they do not need the first three padding words.
 17  * On big-endian systems, the padding is in the wrong place.
 18  *
 19  * Pad space is left for:
 20  * - 64-bit time_t to solve y2038 problem
 21  * - 2 miscellaneous 32-bit values
 22  */
 23 
 24 struct msqid64_ds {
 25         struct ipc64_perm msg_perm;
 26         __kernel_time_t msg_stime;      /* last msgsnd time */
 27 #if __BITS_PER_LONG != 64
 28         unsigned long   __unused1;
 29 #endif
 30         __kernel_time_t msg_rtime;      /* last msgrcv time */
 31 #if __BITS_PER_LONG != 64
 32         unsigned long   __unused2;
 33 #endif
 34         __kernel_time_t msg_ctime;      /* last change time */
 35 #if __BITS_PER_LONG != 64
 36         unsigned long   __unused3;
 37 #endif
 38         unsigned long  msg_cbytes;      /* current number of bytes on queue */
 39         unsigned long  msg_qnum;        /* number of messages in queue */
 40         unsigned long  msg_qbytes;      /* max number of bytes on queue */
 41         __kernel_pid_t msg_lspid;       /* pid of last msgsnd */
 42         __kernel_pid_t msg_lrpid;       /* last receive pid */
 43         unsigned long  __unused4;
 44         unsigned long  __unused5;
 45 };
 46 
 47 #endif /* __ASM_GENERIC_MSGBUF_H */
 48 
  This page was automatically generated by the LXR engine.