1 #ifndef _SPARC_MSGBUF_H 2 #define _SPARC_MSGBUF_H 3 4 /* 5 * The msqid64_ds structure for sparc64 architecture. 6 * Note extra padding because this structure is passed back and forth 7 * between kernel and user space. 8 * 9 * Pad space is left for: 10 * - 64-bit time_t to solve y2038 problem 11 * - 2 miscellaneous 32-bit values 12 */ 13 14 #if defined(__sparc__) && defined(__arch64__) 15 # define PADDING(x) 16 #else 17 # define PADDING(x) unsigned int x; 18 #endif 19 20 21 struct msqid64_ds { 22 struct ipc64_perm msg_perm; 23 PADDING(__pad1) 24 __kernel_time_t msg_stime; /* last msgsnd time */ 25 PADDING(__pad2) 26 __kernel_time_t msg_rtime; /* last msgrcv time */ 27 PADDING(__pad3) 28 __kernel_time_t msg_ctime; /* last change time */ 29 unsigned long msg_cbytes; /* current number of bytes on queue */ 30 unsigned long msg_qnum; /* number of messages in queue */ 31 unsigned long msg_qbytes; /* max number of bytes on queue */ 32 __kernel_pid_t msg_lspid; /* pid of last msgsnd */ 33 __kernel_pid_t msg_lrpid; /* last receive pid */ 34 unsigned long __unused1; 35 unsigned long __unused2; 36 }; 37 #undef PADDING 38 #endif /* _SPARC_MSGBUF_H */ 39