/ duct-tape / xnu / bsd / sys / msgbuf.h
msgbuf.h
 1  /*
 2   * Copyright (c) 2000-2010 Apple, Inc. All rights reserved.
 3   *
 4   * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 5   *
 6   * This file contains Original Code and/or Modifications of Original Code
 7   * as defined in and that are subject to the Apple Public Source License
 8   * Version 2.0 (the 'License'). You may not use this file except in
 9   * compliance with the License. The rights granted to you under the License
10   * may not be used to create, or enable the creation or redistribution of,
11   * unlawful or unlicensed copies of an Apple operating system, or to
12   * circumvent, violate, or enable the circumvention or violation of, any
13   * terms of an Apple operating system software license agreement.
14   *
15   * Please obtain a copy of the License at
16   * http://www.opensource.apple.com/apsl/ and read it before using this file.
17   *
18   * The Original Code and all software distributed under the License are
19   * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20   * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21   * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22   * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23   * Please see the License for the specific language governing rights and
24   * limitations under the License.
25   *
26   * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
27   */
28  /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
29  /*
30   * Copyright (c) 1981, 1984, 1993
31   *	The Regents of the University of California.  All rights reserved.
32   *
33   * Redistribution and use in source and binary forms, with or without
34   * modification, are permitted provided that the following conditions
35   * are met:
36   * 1. Redistributions of source code must retain the above copyright
37   *    notice, this list of conditions and the following disclaimer.
38   * 2. Redistributions in binary form must reproduce the above copyright
39   *    notice, this list of conditions and the following disclaimer in the
40   *    documentation and/or other materials provided with the distribution.
41   * 3. All advertising materials mentioning features or use of this software
42   *    must display the following acknowledgement:
43   *	This product includes software developed by the University of
44   *	California, Berkeley and its contributors.
45   * 4. Neither the name of the University nor the names of its contributors
46   *    may be used to endorse or promote products derived from this software
47   *    without specific prior written permission.
48   *
49   * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
50   * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
51   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
52   * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
53   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
54   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
55   * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
56   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
57   * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
58   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
59   * SUCH DAMAGE.
60   *
61   *	@(#)msgbuf.h	8.1 (Berkeley) 6/2/93
62   */
63  #ifndef _SYS_MSGBUF_H_
64  #define _SYS_MSGBUF_H_
65  
66  #include <sys/cdefs.h>
67  
68  #define MAX_MSG_BSIZE   (1*1024*1024)
69  struct  msgbuf {
70  #define MSG_MAGIC       0x063061
71  	int             msg_magic;
72  	int             msg_size;
73  	int             msg_bufx;               /* write pointer */
74  	int             msg_bufr;               /* read pointer */
75  	char    *msg_bufc;              /* buffer */
76  };
77  
78  #ifdef XNU_KERNEL_PRIVATE
79  __BEGIN_DECLS
80  extern struct   msgbuf *msgbufp;
81  extern struct   msgbuf *aslbufp;
82  extern void log_putc(char);
83  extern void log_putc_locked(struct msgbuf *, char);
84  extern int log_setsize(int size);
85  extern int log_dmesg(user_addr_t, uint32_t, int32_t *);
86  __END_DECLS
87  #endif /* XNU_KERNEL_PRIVATE */
88  
89  #endif  /* !_SYS_MSGBUF_H_ */