Annotation of Gnu-Mach/include/mach/notify.h, revision 1.1.1.2

1.1       root        1: /* 
                      2:  * Mach Operating System
                      3:  * Copyright (c) 1991,1990,1989,1988,1987 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  [email protected]
                     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:  *     File:   mach/notify.h
                     28:  *
                     29:  *     Kernel notification message definitions.
                     30:  */
                     31: 
                     32: #ifndef        _MACH_NOTIFY_H_
                     33: #define _MACH_NOTIFY_H_
                     34: 
                     35: #include <mach/port.h>
                     36: #include <mach/message.h>
                     37: 
                     38: /*
                     39:  *  An alternative specification of the notification interface
                     40:  *  may be found in mach/notify.defs.
                     41:  */
                     42: 
                     43: #define MACH_NOTIFY_FIRST              0100
                     44: #define MACH_NOTIFY_PORT_DELETED       (MACH_NOTIFY_FIRST + 001 )
                     45:                        /* A send or send-once right was deleted. */
                     46: #define MACH_NOTIFY_MSG_ACCEPTED       (MACH_NOTIFY_FIRST + 002)
                     47:                        /* A MACH_SEND_NOTIFY msg was accepted */
                     48: #define MACH_NOTIFY_PORT_DESTROYED     (MACH_NOTIFY_FIRST + 005)
                     49:                        /* A receive right was (would have been) deallocated */
                     50: #define MACH_NOTIFY_NO_SENDERS         (MACH_NOTIFY_FIRST + 006)
                     51:                        /* Receive right has no extant send rights */
                     52: #define MACH_NOTIFY_SEND_ONCE          (MACH_NOTIFY_FIRST + 007)
                     53:                        /* An extant send-once right died */
                     54: #define MACH_NOTIFY_DEAD_NAME          (MACH_NOTIFY_FIRST + 010)
                     55:                        /* Send or send-once right died, leaving a dead-name */
                     56: #define MACH_NOTIFY_LAST               (MACH_NOTIFY_FIRST + 015)
                     57: 
                     58: typedef struct {
                     59:     mach_msg_header_t  not_header;
                     60:     mach_msg_type_t    not_type;       /* MACH_MSG_TYPE_PORT_NAME */
                     61:     mach_port_t                not_port;
                     62: } mach_port_deleted_notification_t;
                     63: 
                     64: typedef struct {
                     65:     mach_msg_header_t  not_header;
                     66:     mach_msg_type_t    not_type;       /* MACH_MSG_TYPE_PORT_NAME */
                     67:     mach_port_t                not_port;
                     68: } mach_msg_accepted_notification_t;
                     69: 
                     70: typedef struct {
                     71:     mach_msg_header_t  not_header;
                     72:     mach_msg_type_t    not_type;       /* MACH_MSG_TYPE_PORT_RECEIVE */
                     73:     mach_port_t                not_port;
                     74: } mach_port_destroyed_notification_t;
                     75: 
                     76: typedef struct {
                     77:     mach_msg_header_t  not_header;
                     78:     mach_msg_type_t    not_type;       /* MACH_MSG_TYPE_INTEGER_32 */
                     79:     unsigned int       not_count;
                     80: } mach_no_senders_notification_t;
                     81: 
                     82: typedef struct {
                     83:     mach_msg_header_t  not_header;
                     84: } mach_send_once_notification_t;
                     85: 
                     86: typedef struct {
                     87:     mach_msg_header_t  not_header;
                     88:     mach_msg_type_t    not_type;       /* MACH_MSG_TYPE_PORT_NAME */
                     89:     mach_port_t                not_port;
                     90: } mach_dead_name_notification_t;
                     91: 
                     92: #endif /* _MACH_NOTIFY_H_ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.