Annotation of kernel/bsd/dev/ppc/PCKeyboardDefs.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
                      3:  *
                      4:  * @APPLE_LICENSE_HEADER_START@
                      5:  * 
                      6:  * Portions Copyright (c) 1999 Apple Computer, Inc.  All Rights
                      7:  * Reserved.  This file contains Original Code and/or Modifications of
                      8:  * Original Code as defined in and that are subject to the Apple Public
                      9:  * Source License Version 1.1 (the "License").  You may not use this file
                     10:  * except in compliance with the License.  Please obtain a copy of the
                     11:  * License at http://www.apple.com/publicsource and read it before using
                     12:  * this file.
                     13:  * 
                     14:  * The Original Code and all software distributed under the License are
                     15:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
                     16:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
                     17:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
                     18:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
                     19:  * License for the specific language governing rights and limitations
                     20:  * under the License.
                     21:  * 
                     22:  * @APPLE_LICENSE_HEADER_END@
                     23:  */
                     24: 
                     25: /*     Copyright (c) 1992 NeXT Computer, Inc.  All rights reserved. 
                     26:  *
                     27:  * PCKeyboardDefs.h - PC Keyboard Defs for clients
                     28:  *
                     29:  * HISTORY
                     30:  * 09 Sep 1992    Joe Pasqua
                     31:  *      Created. 
                     32:  */
                     33: 
                     34: // TO DO:
                     35: //
                     36: // NOTES:
                     37: // * This module defines types and protocols for use by PCKeyboard clients.
                     38: 
                     39: #ifdef DRIVER_PRIVATE
                     40: 
                     41: #import <kernserv/clock_timer.h>
                     42: 
                     43: typedef struct _t_PCKeyboardEvent {
                     44:     ns_time_t timeStamp;       // When did this event happen
                     45:     unsigned keyCode;          // Which key was involved
                     46:     BOOL goingDown;            // YES -> it was pressed, NO -> it was released
                     47: } PCKeyboardEvent;
                     48: 
                     49: 
                     50: //
                     51: // The following protocol is implemented by PCKeyboard objects. Clients
                     52: // of the PCKeyboard can invoke the methods below to indicate their
                     53: // ownership of the PCKeyboard object.
                     54: //
                     55: @protocol PCKeyboardExported
                     56: 
                     57: - (IOReturn)becomeOwner                : client;
                     58: // Description:        Register for event dispatch via device-specific protocol.
                     59: //             (See the dispatchKeyboardEvent method)
                     60: //             Returns IO_R_SUCCESS if successful, else IO_R_BUSY. The
                     61: //             relinquishOwnershipRequest: method may be called on another
                     62: //             client during the execution of this method.
                     63: 
                     64: - (IOReturn)relinquishOwnership        : client;
                     65: // Description:        Relinquish ownership. Returns IO_R_BUSY if caller is not
                     66: //             current owner.
                     67: 
                     68: 
                     69: - (IOReturn)desireOwnership    : client;
                     70: // Description:        Request notification (via canBecomeOwner:) when
                     71: //             relinquishOwnership: is called. This allows one potential
                     72: //             client to place itself "next in line" for ownership. The
                     73: //             queue is only one deep.
                     74: 
                     75: @end   // PCKeyboardExported
                     76: 
                     77: 
                     78: //
                     79: // The following protocol is implemented by clients of the PCKeyboard
                     80: // object. A PCKeyboard instance will invoke these methods to indicate
                     81: // that an event has come in or that a change in ownership can happen.
                     82: //
                     83: @protocol PCKeyboardImported
                     84: 
                     85: - (void)dispatchKeyboardEvent:(PCKeyboardEvent *)event;
                     86: // Description:        Called when the keyboard object receives a new keyboard
                     87: //             Event. The event structure should not be freed by the callee.
                     88: 
                     89: 
                     90: - (IOReturn)relinquishOwnershipRequest : device;
                     91: // Description:        Called when another client wishes to assume ownership of
                     92: //             calling kbd Device. This happens when a client attempts a
                     93: //             becomeOwner: on a device which is  owned by the callee of
                     94: //             this method. 
                     95: // Returns:
                     96: //             IO_R_SUCCESS ==> It's OK to give ownership of the device to
                     97: //                              other client. In this case, callee no longer
                     98: //                              owns the device.
                     99: //             IO_R_BUSY    ==> Don't transfer ownership.
                    100: 
                    101: 
                    102: - (IOReturn)canBecomeOwner                     : device;
                    103: // Description:        Method by which a client, who has registered "intent to own"
                    104: //             via desireOwnership:client, is notified that the calling
                    105: //             device is available. Client will typically call becomeOwner:
                    106: //             during this call.
                    107: 
                    108: @end   // PCKeyboardImported
                    109: 
                    110: #endif /* DRIVER_PRIVATE */

unix.superglobalmegacorp.com

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