Annotation of XNU/bsd/dev/kmreg_com.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
                      3:  *
                      4:  * @APPLE_LICENSE_HEADER_START@
                      5:  * 
                      6:  * The contents of this file constitute Original Code as defined in and
                      7:  * are subject to the Apple Public Source License Version 1.1 (the
                      8:  * "License").  You may not use this file except in compliance with the
                      9:  * License.  Please obtain a copy of the License at
                     10:  * http://www.apple.com/publicsource and read it before using this file.
                     11:  * 
                     12:  * This Original Code and all software distributed under the License are
                     13:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
                     14:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
                     15:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
                     16:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
                     17:  * License for the specific language governing rights and limitations
                     18:  * under the License.
                     19:  * 
                     20:  * @APPLE_LICENSE_HEADER_END@
                     21:  */
                     22: /*     Copyright (c) 1992 NeXT Computer, Inc.  All rights reserved. 
                     23:  *
                     24:  * kmreg_com.h - machine independent km ioctl interface.
                     25:  *
                     26:  * HISTORY
                     27:  * 16-Jan-92    Doug Mitchell at NeXT 
                     28:  *      Created. 
                     29:  */
                     30:  
                     31: #ifdef KERNEL_PRIVATE
                     32: 
                     33: #ifndef        _BSD_DEV_KMREG_COM_
                     34: #define _BSD_DEV_KMREG_COM_
                     35: 
                     36: #include <sys/types.h>
                     37: #include <sys/ioctl.h> 
                     38: 
                     39: /* 
                     40:  * Colors for fg, bg in struct km_drawrect 
                     41:  */
                     42: #define KM_COLOR_WHITE         0
                     43: #define KM_COLOR_LTGRAY                1
                     44: #define KM_COLOR_DKGRAY                2
                     45: #define KM_COLOR_BLACK         3
                     46: 
                     47: /*
                     48:  * The data to be rendered is treated as a pixmap of 2 bit pixels.
                     49:  * The most significant bits of each byte is the leftmost pixel in that 
                     50:  * byte.  Pixel values are assigned as described above.
                     51:  *
                     52:  * Each scanline should start on a 4 pixel boundry within the bitmap,
                     53:  * and should be a multiple of 4 pixels in length.
                     54:  *
                     55:  * For the KMIOCERASERECT call, 'data' should be an integer set to the 
                     56:  * color to be used for the clear operation (data.fill).
                     57:  * A rect at (x,y) measuring 'width' by 'height' will be cleared to 
                     58:  * the specified value.
                     59:  */
                     60: struct km_drawrect {
                     61:        unsigned short x;       /* Upper left corner of rect to be imaged. */
                     62:        unsigned short y;
                     63:        unsigned short width;   /* Width and height of rect to be imaged, 
                     64:                                 * in pixels */
                     65:        unsigned short height;
                     66:        union {
                     67:                void *bits;     /* Pointer to 2 bit per pixel raster data. */
                     68:                int   fill;     /* Const color for erase operation. */
                     69:        } data;
                     70: };
                     71: 
                     72: /*
                     73:  * Argument to KMIOCANIMCTL.
                     74:  */
                     75: typedef enum {
                     76:        KM_ANIM_STOP,           /* stop permanently */
                     77:        KM_ANIM_SUSPEND,        /* suspend */
                     78:        KM_ANIM_RESUME          /* resume */
                     79: } km_anim_ctl_t;
                     80: 
                     81: #define        KMIOCPOPUP      _IO('k', 1)             /* popup new window */
                     82: #define        KMIOCRESTORE    _IO('k', 2)             /* restore background */
                     83: #define        KMIOCDUMPLOG    _IO('k', 3)             /* dump message log */
                     84: #define KMIOCDRAWRECT  _IOW('k', 5, struct km_drawrect)  /* Draw rect from 
                     85:                                                           * bits */
                     86: #define KMIOCERASERECT _IOW('k', 6, struct km_drawrect)  /* Erase a rect */
                     87: 
                     88: #ifdef KERNEL_PRIVATE
                     89: #define        KMIOCDISABLCONS _IO('k', 8)             /* disable console messages */
                     90: #endif /* KERNEL_PRIVATE */
                     91: 
                     92: #define KMIOCANIMCTL   _IOW('k',9, km_anim_ctl_t)      
                     93:                                                /* stop animation */
                     94: #define KMIOCSTATUS    _IOR('k',10, int)       /* get status bits */
                     95: #define KMIOCSIZE      _IOR('k',11, struct winsize) /* get screen size */
                     96: 
                     97: /*
                     98:  * Status bits returned via KMIOCSTATUS.
                     99:  */
                    100: #define KMS_SEE_MSGS   0x00000001
                    101: 
                    102: #endif /* _BSD_DEV_KMREG_COM_ */
                    103: 
                    104: #endif /* KERNEL_PRIVATE */

unix.superglobalmegacorp.com

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