The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/ipc/ipc_types.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /* 
    2  * Mach Operating System
    3  * Copyright (c) 1993 Carnegie Mellon University
    4  * All Rights Reserved.
    5  * 
    6  * Permission to use, copy, modify and distribute this software and its
    7  * documentation is hereby granted, provided that both the copyright
    8  * notice and this permission notice appear in all copies of the
    9  * software, derivative works or modified versions, and any portions
   10  * thereof, and that both notices appear in supporting documentation.
   11  * 
   12  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
   13  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
   14  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
   15  * 
   16  * Carnegie Mellon requests users of this software to return to
   17  * 
   18  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
   19  *  School of Computer Science
   20  *  Carnegie Mellon University
   21  *  Pittsburgh PA 15213-3890
   22  * 
   23  * any improvements or extensions that they make and grant Carnegie Mellon
   24  * the rights to redistribute these changes.
   25  */
   26 /*
   27  * HISTORY
   28  * $Log:        ipc_types.h,v $
   29  * Revision 2.2  93/11/17  17:03:27  dbg
   30  *      Renamed to ipc/ipc_types.h.  Included union for
   31  *      message return type for ipc_mqueue_receive.
   32  *      [93/03/15            dbg]
   33  * 
   34  * Revision 2.2  93/01/27  09:31:56  danner
   35  *      Created to break latent circularity between
   36  *      ipc_kmsg_queue.h and kern/thread.h.
   37  *      [93/01/27            danner]
   38  * 
   39  */
   40 /*
   41  *      File:   ipc/ipc_types.h
   42  *      Author: Dan Stodolsky and David Golub
   43  *      Date:   1993
   44  *
   45  *      Definitions for commonly used IPC structures
   46  *      included in or referenced by other kernel data
   47  *      structures.  Many of these are handles to opaque
   48  *      data structures defined elsewhere.  Others are
   49  *      defined here to break circular chains of include
   50  *      files.
   51  */
   52 
   53 #ifndef _IPC_IPC_TYPES_H_
   54 #define _IPC_IPC_TYPES_H_
   55 
   56 #include <mach/message.h>       /* mach_msg_size_t */
   57 
   58 /*
   59  *      A kernel IPC message structure, from ipc/ipc_kmsg.h.
   60  */
   61 typedef struct ipc_kmsg *       ipc_kmsg_t;
   62 #define IKM_NULL                ((ipc_kmsg_t) 0)
   63 
   64 /*
   65  *      Queue of ipc_kmsgs.
   66  */
   67 struct ipc_kmsg_queue {
   68         struct ipc_kmsg *ikmq_base;
   69 };
   70 typedef struct ipc_kmsg_queue   *ipc_kmsg_queue_t;
   71 
   72 #define IKMQ_NULL               ((ipc_kmsg_queue_t) 0)
   73 
   74 /*
   75  *      Return value for receiving an ipc_kmsg.
   76  *      May be a pointer to an ipc_kmsg, or
   77  *      the size of a too-large message.
   78  */
   79 union ipc_kmsg_return {
   80         struct ipc_kmsg *kmsg;          /* received message */
   81         mach_msg_size_t msize;          /* max size for received message */
   82 };
   83 
   84 /*
   85  *      From ipc/ipc_space.h:
   86  */
   87 typedef struct ipc_space *      ipc_space_t;
   88 #define IS_NULL                 ((ipc_space_t) 0)
   89 
   90 /*
   91  *      From ipc/ipc_port.h:
   92  */
   93 
   94 typedef struct ipc_port *       ipc_port_t;
   95 
   96 #endif  /* _IPC_IPC_TYPES_H_ */

Cache object: 96a07542f4df9355029b105882dd8218


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.