Annotation of driverkit/libDriver/Kernel/audio.defs, revision 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:  * audio.defs
        !            26:  *     MIG interface to audio driver kernel server.
        !            27:  */
        !            28: subsystem audio 700;
        !            29: 
        !            30: #include <mach/std_types.defs>
        !            31: 
        !            32: type audio_time_t = struct [2] of int;
        !            33: type u_int = MSG_TYPE_INTEGER_32;
        !            34: type audio_var_array_t = array [*:256] of int;
        !            35: type audio_array_t = array [256] of int;
        !            36: type audio_name_t = array [*:256] of char;
        !            37: 
        !            38: /*
        !            39:  * Mig calls these to convert the port a message is
        !            40:  * received on into each routine's first argument.
        !            41:  */
        !            42: type audio_device_t = port_t
        !            43:   intran: audio_device_t audio_port_to_device(port_t);
        !            44: type audio_stream_t = port_t
        !            45:   intran: audio_stream_t audio_port_to_stream(port_t);
        !            46: 
        !            47: import <bsd/dev/audioTypes.h>;
        !            48: 
        !            49: serverprefix _NXAudio;
        !            50: userprefix _NXAudio;
        !            51: 
        !            52: /**************************
        !            53:  * Generic device routines.
        !            54:  **************************/
        !            55: 
        !            56: /*
        !            57:  * Establish exclusive use of streams.
        !            58:  */
        !            59: routine GetExclusiveUser (
        !            60:                        devicePort      : audio_device_t;
        !            61:        out             streamOwner     : port_t;
        !            62:        waittime        timeout         : int);
        !            63: 
        !            64: routine SetExclusiveUser (
        !            65:                        devicePort      : audio_device_t;
        !            66:                        streamOwner     : port_t;
        !            67:        waittime        timeout         : int);
        !            68: 
        !            69: /*
        !            70:  * Get and set dma buffer and memory wiring options.
        !            71:  */
        !            72: routine GetBufferOptions (
        !            73:                        devicePort      : audio_device_t;
        !            74:        out             dmaSize         : u_int;
        !            75:        out             dmaCount        : u_int;
        !            76:        waittime        timeout         : int);
        !            77: 
        !            78: routine SetBufferOptions (
        !            79:                        devicePort      : audio_device_t;
        !            80:                        streamOwner     : port_t;
        !            81:                        dmaSize         : u_int;
        !            82:                        dmaCount        : u_int;
        !            83:        waittime        timeout         : int);
        !            84: 
        !            85: /*
        !            86:  * Stream control of owned streams.
        !            87:  */
        !            88: routine ControlStreams (
        !            89:                        devicePort      : audio_device_t;
        !            90:                        streamOwner     : port_t;
        !            91:                        action          : int;
        !            92:        waittime        timeout         : int);
        !            93: 
        !            94: /*
        !            95:  * Add a stream.
        !            96:  */
        !            97: routine AddStream (
        !            98:                        devicePort      : audio_device_t;
        !            99:        out             streamPort      : port_t;
        !           100:                        streamOwner     : port_t;
        !           101:                        streamId        : int;
        !           102:                        streamType      : u_int;
        !           103:        waittime        timeout         : int);
        !           104: 
        !           105: /*
        !           106:  * Get and set peak detection options.
        !           107:  */
        !           108: routine GetDevicePeakOptions (
        !           109:                        devicePort      : audio_device_t;
        !           110:        out             enabled         : u_int;
        !           111:        out             history         : u_int;
        !           112:        waittime        timeout         : int);
        !           113: 
        !           114: routine SetDevicePeakOptions (
        !           115:                        devicePort      : audio_device_t;
        !           116:                        streamOwner     : port_t;
        !           117:                        enabled         : u_int;
        !           118:                        history         : u_int;
        !           119:        waittime        timeout         : int);
        !           120: 
        !           121: /*
        !           122:  * Get last peak.
        !           123:  */
        !           124: routine GetDevicePeak (
        !           125:                        devicePort      : audio_device_t;
        !           126:        out             peakLeft        : u_int;
        !           127:        out             peakRight       : u_int;
        !           128:        waittime        timeout         : int);
        !           129: 
        !           130: /*
        !           131:  * Get clip count.
        !           132:  */
        !           133: routine GetClipCount (
        !           134:                        devicePort      : audio_device_t;
        !           135:        out             count           : u_int;
        !           136:        waittime        timeout         : int);
        !           137: 
        !           138: /********************
        !           139:  * Soundout routines.
        !           140:  ********************/
        !           141: 
        !           142: /*
        !           143:  * Get and set soundout options.
        !           144:  */
        !           145: routine GetSndoutOptions (
        !           146:                        devicePort      : audio_device_t;
        !           147:        out             bits            : u_int;
        !           148:        waittime        timeout         : int);
        !           149: 
        !           150: routine SetSndoutOptions (
        !           151:                        devicePort      : audio_device_t;
        !           152:                        streamOwner     : port_t;
        !           153:                        bits            : u_int;
        !           154:        waittime        timeout         : int);
        !           155: 
        !           156: /*
        !           157:  * Get and set speaker attenuation.
        !           158:  */
        !           159: routine GetSpeaker (
        !           160:                        devicePort      : audio_device_t;
        !           161:        out             left            : int;
        !           162:        out             right           : int;
        !           163:        waittime        timeout         : int);
        !           164: 
        !           165: routine SetSpeaker (
        !           166:                        devicePort      : audio_device_t;
        !           167:                        streamOwner     : port_t;
        !           168:                        left            : int;
        !           169:                        right           : int;
        !           170:        waittime        timeout         : int);
        !           171: 
        !           172: /**************************
        !           173:  * Generic stream routines.
        !           174:  **************************/
        !           175: 
        !           176: /*
        !           177:  * Set stream gain.
        !           178:  */
        !           179: routine SetStreamGain (
        !           180:                        streamPort      : audio_stream_t;
        !           181:                        left            : int;
        !           182:                        right           : int;
        !           183:        waittime        timeout         : int);
        !           184:        
        !           185: /*
        !           186:  * Change owner of a stream.
        !           187:  */
        !           188: routine ChangeStreamOwner (
        !           189:                        streamPort      : audio_stream_t;
        !           190:                        streamOwner     : port_t;
        !           191:        waittime        timeout         : int);
        !           192: 
        !           193: /*
        !           194:  * Stream control.
        !           195:  */
        !           196: routine StreamControl (
        !           197:                        streamPort      : audio_stream_t;
        !           198:                        action          : int;
        !           199:                        actionTime      : audio_time_t;
        !           200:        waittime        timeout         : int);
        !           201: 
        !           202: /*
        !           203:  * Stream info.
        !           204:  */
        !           205: routine StreamInfo (
        !           206:                        streamPort      : audio_stream_t;
        !           207:        out             bytesProcessed  : u_int;
        !           208:        out             timeStamp       : u_int;
        !           209:        waittime        timeout         : int);
        !           210: 
        !           211: /*
        !           212:  * Remove a stream.
        !           213:  */
        !           214: routine RemoveStream (
        !           215:                        streamPort      : audio_stream_t;
        !           216:        waittime        timeout         : int);
        !           217: 
        !           218: /***************************
        !           219:  * Playback stream routines.
        !           220:  ***************************/
        !           221: 
        !           222: /*
        !           223:  * Enqueue play request to stream.
        !           224:  */
        !           225: routine PlayStream (
        !           226:                        streamPort      : audio_stream_t;
        !           227:                        data            : pointer_t;
        !           228:                        /* dataCnt      : int; */       /* invisible mig arg */
        !           229:                        tag             : int;
        !           230:                        channelCount    : u_int;
        !           231:                        sampleRate      : int;
        !           232:                        leftGain        : u_int;
        !           233:                        rightGain       : u_int;
        !           234:                        lowWater        : u_int;
        !           235:                        highWater       : u_int;
        !           236:                        streamReply     : port_t;
        !           237:                        messages        : u_int;
        !           238:        waittime        timeout         : int);
        !           239: 
        !           240: /*
        !           241:  * Set peak detection options.
        !           242:  */
        !           243: routine SetStreamPeakOptions (
        !           244:                        streamPort      : audio_stream_t;
        !           245:                        enabled         : u_int;
        !           246:                        history         : u_int;
        !           247:        waittime        timeout         : int);
        !           248: 
        !           249: /*
        !           250:  * Get last peak.
        !           251:  */
        !           252: routine GetStreamPeak (
        !           253:                        streamPort      : audio_stream_t;
        !           254:        out             peakLeft        : u_int;
        !           255:        out             peakRight       : u_int;
        !           256:        waittime        timeout         : int);
        !           257: 
        !           258: /****************************
        !           259:  * Recording stream routines.
        !           260:  ****************************/
        !           261: 
        !           262: /*
        !           263:  * Enqueue record request to stream.
        !           264:  */
        !           265: routine RecordStream (
        !           266:                        streamPort      : audio_stream_t;
        !           267:                        count           : u_int;
        !           268:                        tag             : int;
        !           269:                        lowWater        : u_int;
        !           270:                        highWater       : u_int;
        !           271:                        streamReply     : port_t;
        !           272:                        messages        : u_int;
        !           273:        waittime        timeout         : int);
        !           274: 
        !           275: /****************************
        !           276:  * New for 3.1.
        !           277:  ****************************/
        !           278: 
        !           279: /*
        !           280:  * Play and record with current parameters.
        !           281:  */
        !           282: 
        !           283: routine PlayStreamData (
        !           284:                        streamPort      : audio_stream_t;
        !           285:                        data            : pointer_t;
        !           286:                        /* dataCnt      : int; */       /* invisible mig arg */
        !           287:                        tag             : int;
        !           288:                        streamReply     : port_t;
        !           289:                        messages        : u_int;
        !           290:        waittime        timeout         : int);
        !           291: 
        !           292: routine RecordStreamData (
        !           293:                        streamPort      : audio_stream_t;
        !           294:                        count           : u_int;
        !           295:                        tag             : int;
        !           296:                        streamReply     : port_t;
        !           297:                        messages        : u_int;
        !           298:        waittime        timeout         : int);
        !           299: 
        !           300: /*
        !           301:  * Generic parameter api.
        !           302:  */
        !           303: 
        !           304: routine GetDeviceName (
        !           305:                        devicePort      : audio_device_t;
        !           306:        out             name            : audio_name_t;
        !           307:                        /* out nameCnt  : u_int; */     /* invisible mig arg */
        !           308:        waittime        timeout         : int);
        !           309: 
        !           310: routine SetDeviceParameters (
        !           311:                        devicePort      : audio_device_t;
        !           312:                        streamOwner     : port_t;
        !           313:                        params          : audio_var_array_t;
        !           314:                        /* paramsCnt    : u_int; */     /* invisible mig arg */
        !           315:                        values          : audio_array_t;
        !           316:        waittime        timeout         : int);
        !           317: 
        !           318: routine GetDeviceParameters (
        !           319:                        devicePort      : audio_device_t;
        !           320:                        params          : audio_var_array_t;
        !           321:                        /* paramsCnt    : u_int; */     /* invisible mig arg */
        !           322:        out             values          : audio_array_t;
        !           323:        waittime        timeout         : int);
        !           324: 
        !           325: routine GetDeviceSupportedParameters (
        !           326:                        devicePort      : audio_device_t;
        !           327:        out             params          : audio_var_array_t;
        !           328:                        /* out paramsCnt: u_int; */     /* invisible mig arg */
        !           329:        waittime        timeout         : int);
        !           330: 
        !           331: routine GetDeviceParameterValues (
        !           332:                        devicePort      : audio_device_t;
        !           333:                        param           : int;
        !           334:        out             values          : audio_var_array_t;
        !           335:                        /* out valuesCnt: u_int; */     /* invisible mig arg */
        !           336:        waittime        timeout         : int);
        !           337: 
        !           338: routine GetSamplingRates (
        !           339:                        devicePort      : audio_device_t;
        !           340:        out             continuous      : int;
        !           341:        out             low             : int;
        !           342:        out             high            : int;
        !           343:        out             rates           : audio_var_array_t;
        !           344:                        /* out ratesCnt : u_int; */     /* invisible mig arg */
        !           345:        waittime        timeout         : int);
        !           346: 
        !           347: routine GetDataEncodings (
        !           348:                        devicePort      : audio_device_t;
        !           349:        out             encodings       : audio_var_array_t;
        !           350:                        /* out encodingsCnt : u_int; */ /* invisible mig arg */
        !           351:        waittime        timeout         : int);
        !           352: 
        !           353: routine GetChannelCountLimit (
        !           354:                        devicePort      : audio_device_t;
        !           355:        out             count           : u_int;
        !           356:        waittime        timeout         : int);
        !           357: 
        !           358: routine SetStreamParameters (
        !           359:                        streamPort      : audio_stream_t;
        !           360:                        params          : audio_var_array_t;
        !           361:                        /* paramsCnt    : u_int; */     /* invisible mig arg */
        !           362:                        values          : audio_array_t;
        !           363:        waittime        timeout         : int);
        !           364: 
        !           365: routine GetStreamParameters (
        !           366:                        streamPort      : audio_stream_t;
        !           367:                        params          : audio_var_array_t;
        !           368:                        /* paramsCnt    : u_int; */     /* invisible mig arg */
        !           369:        out             values          : audio_array_t;
        !           370:        waittime        timeout         : int);
        !           371: 
        !           372: routine GetStreamSupportedParameters (
        !           373:                        streamPort      : audio_stream_t;
        !           374:        out             params          : audio_var_array_t;
        !           375:                        /* out paramsCnt: u_int; */     /* invisible mig arg */
        !           376:        waittime        timeout         : int);
        !           377: 
        !           378: routine GetStreamParameterValues (
        !           379:                        streamPort      : audio_stream_t;
        !           380:                        param           : int;
        !           381:        out             values          : audio_var_array_t;
        !           382:                        /* out valuesCnt: u_int; */     /* invisible mig arg */
        !           383:        waittime        timeout         : int);

unix.superglobalmegacorp.com

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