Code Search for Developers
 
 
  

DriverFamilyMatching.h from guliverkli at Krugle


Show DriverFamilyMatching.h syntax highlighted

/*
     File:       DriverFamilyMatching.h
 
     Contains:   Interfaces for create native drivers NDRV
 
     Version:    Technology: 
                 Release:    QuickTime 6.0.2
 
     Copyright:  (c) 1995-2001 by Apple Computer, Inc., all rights reserved.
 
     Bugs?:      For bug reports, consult the following page on
                 the World Wide Web:
 
                     http://developer.apple.com/bugreporter/
 
*/
#ifndef __DRIVERFAMILYMATCHING__
#define __DRIVERFAMILYMATCHING__

#ifndef __MACTYPES__
#include "MacTypes.h"
#endif

#ifndef __NAMEREGISTRY__
#include "NameRegistry.h"
#endif

#ifndef __CODEFRAGMENTS__
#include "CodeFragments.h"
#endif




#if PRAGMA_ONCE
#pragma once
#endif

#ifdef __cplusplus
extern "C" {
#endif

#if PRAGMA_IMPORT
#pragma import on
#endif

#if PRAGMA_STRUCT_ALIGN
    #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
    #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
    #pragma pack(2)
#endif

/*
  ##############################################
   Well known properties in the Name Registry
  ##############################################
*/

#define kPropertyName                  "name"
#define kPropertyCompatible              "compatible"
#define    kPropertyDriverPtr              "driver-ptr"
#define kPropertyDriverDesc                "driver-description"
#define kPropertyReg                   "reg"
#define kPropertyAAPLAddress          "AAPL,address"
#define kPropertyMatching                "matching"
#define kPropertyAAPLDriverName          "AAPL,driver-name"

/* CPassThru */
/*
  #########################################################
   Descriptor for Drivers and NDRVs
  #########################################################
*/
/* 
    QuickTime 3.0: "DriverType" has a name collision with cross-platform code.
    Use Mac prefix to avoid collision 
*/
/* Driver Typing Information Used to Match Drivers With Devices */

struct MacDriverType {
    Str31                           nameInfoStr;                /* Driver Name/Info String*/
    NumVersion                      version;                    /* Driver Version Number*/
};
typedef struct MacDriverType            MacDriverType;
#if TARGET_OS_MAC

typedef MacDriverType                   DriverType;
#endif  /* TARGET_OS_MAC */

typedef MacDriverType *                 DriverTypePtr;
/* OS Runtime Information Used to Setup and Maintain a Driver's Runtime Environment */
typedef OptionBits                      RuntimeOptions;
enum {
    kDriverIsLoadedUponDiscovery = 0x00000001,                  /* auto-load driver when discovered*/
    kDriverIsOpenedUponLoad     = 0x00000002,                   /* auto-open driver when loaded*/
    kDriverIsUnderExpertControl = 0x00000004,                   /* I/O expert handles loads/opens*/
    kDriverIsConcurrent         = 0x00000008,                   /* supports concurrent requests*/
    kDriverQueuesIOPB           = 0x00000010,                   /* device manager doesn't queue IOPB*/
    kDriverIsLoadedAtBoot       = 0x00000020,                   /* Driver is loaded at the boot time */
    kDriverIsForVirtualDevice   = 0x00000040,                   /* Driver is for a virtual Device */
    kDriverSupportDMSuspendAndResume = 0x00000080               /* Driver supports Device Manager Suspend and Resume command */
};


struct DriverOSRuntime {
    RuntimeOptions                  driverRuntime;              /* Options for OS Runtime*/
    Str31                           driverName;                 /* Driver's name to the OS*/
    UInt32                          driverDescReserved[8];      /* Reserved area*/
};
typedef struct DriverOSRuntime          DriverOSRuntime;
typedef DriverOSRuntime *               DriverOSRuntimePtr;
/* OS Service Information Used To Declare What APIs a Driver Supports */

typedef UInt32                          ServiceCount;

struct DriverServiceInfo {
    OSType                          serviceCategory;            /* Service Category Name*/
    OSType                          serviceType;                /* Type within Category*/
    NumVersion                      serviceVersion;             /* Version of service*/
};
typedef struct DriverServiceInfo        DriverServiceInfo;
typedef DriverServiceInfo *             DriverServiceInfoPtr;

struct DriverOSService {
    ServiceCount                    nServices;                  /* Number of Services Supported*/
    DriverServiceInfo               service[1];                 /* The List of Services (at least one)*/
};
typedef struct DriverOSService          DriverOSService;
typedef DriverOSService *               DriverOSServicePtr;
/* Categories */
enum {
    kServiceCategoryDisplay     = FOUR_CHAR_CODE('disp'),       /* Display Manager*/
    kServiceCategoryOpenTransport = FOUR_CHAR_CODE('otan'),     /* Open Transport*/
    kServiceCategoryBlockStorage = FOUR_CHAR_CODE('blok'),      /* Block Storage*/
    kServiceCategoryNdrvDriver  = FOUR_CHAR_CODE('ndrv'),       /* Generic Native Driver*/
    kServiceCategoryScsiSIM     = FOUR_CHAR_CODE('scsi'),       /* SCSI */
    kServiceCategoryFileManager = FOUR_CHAR_CODE('file'),       /* File Manager */
    kServiceCategoryIDE         = FOUR_CHAR_CODE('ide-'),       /* ide */
    kServiceCategoryADB         = FOUR_CHAR_CODE('adb-'),       /* adb */
    kServiceCategoryPCI         = FOUR_CHAR_CODE('pci-'),       /* pci bus */
                                                                /* Nu Bus */
    kServiceCategoryDFM         = FOUR_CHAR_CODE('dfm-'),       /* DFM */
    kServiceCategoryMotherBoard = FOUR_CHAR_CODE('mrbd'),       /* mother Board */
    kServiceCategoryKeyboard    = FOUR_CHAR_CODE('kybd'),       /* Keyboard */
    kServiceCategoryPointing    = FOUR_CHAR_CODE('poit'),       /* Pointing */
    kServiceCategoryRTC         = FOUR_CHAR_CODE('rtc-'),       /* RTC */
    kServiceCategoryNVRAM       = FOUR_CHAR_CODE('nram'),       /* NVRAM */
    kServiceCategorySound       = FOUR_CHAR_CODE('sond'),       /* Sound (1/3/96 MCS) */
    kServiceCategoryPowerMgt    = FOUR_CHAR_CODE('pgmt'),       /* Power Management */
    kServiceCategoryGeneric     = FOUR_CHAR_CODE('genr')        /* Generic Service Category to receive general Events */
};

/* Ndrv ServiceCategory Types */
enum {
    kNdrvTypeIsGeneric          = FOUR_CHAR_CODE('genr'),       /* generic*/
    kNdrvTypeIsVideo            = FOUR_CHAR_CODE('vido'),       /* video*/
    kNdrvTypeIsBlockStorage     = FOUR_CHAR_CODE('blok'),       /* block storage*/
    kNdrvTypeIsNetworking       = FOUR_CHAR_CODE('netw'),       /* networking*/
    kNdrvTypeIsSerial           = FOUR_CHAR_CODE('serl'),       /* serial*/
    kNdrvTypeIsParallel         = FOUR_CHAR_CODE('parl'),       /* parallel */
    kNdrvTypeIsSound            = FOUR_CHAR_CODE('sond'),       /* sound*/
    kNdrvTypeIsBusBridge        = FOUR_CHAR_CODE('brdg'),
    kNdrvTypeIsFWConference     = FOUR_CHAR_CODE('crsh'),       /* FireWire conference camera */
    kNdrvTypeIsAVC              = FOUR_CHAR_CODE('avc ')        /* FireWire AVC devices (DV cameras) */
};


typedef UInt32                          DriverDescVersion;
/*  The Driver Description */
enum {
    kTheDescriptionSignature    = FOUR_CHAR_CODE('mtej'),
    kDriverDescriptionSignature = FOUR_CHAR_CODE('pdes')
};

enum {
    kInitialDriverDescriptor    = 0,
    kVersionOneDriverDescriptor = 1
};


struct DriverDescription {
    OSType                          driverDescSignature;        /* Signature field of this structure*/
    DriverDescVersion               driverDescVersion;          /* Version of this data structure*/
    MacDriverType                   driverType;                 /* Type of Driver*/
    DriverOSRuntime                 driverOSRuntimeInfo;        /* OS Runtime Requirements of Driver*/
    DriverOSService                 driverServices;             /* Apple Service API Membership*/
};
typedef struct DriverDescription        DriverDescription;
typedef DriverDescription *             DriverDescriptionPtr;



#if PRAGMA_STRUCT_ALIGN
    #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
    #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
    #pragma pack()
#endif

#ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
#endif

#ifdef __cplusplus
}
#endif

#endif /* __DRIVERFAMILYMATCHING__ */





See more files for this project here

guliverkli

Home of VobSub, Media Player Classic (MPC) and other misc utils.

Project homepage: http://sourceforge.net/projects/guliverkli
Programming language(s): C,C++,PHP
License: other

  ADSP.h
  ADSPSecure.h
  AEDataModel.h
  AEObjects.h
  AEPackObject.h
  AERegistry.h
  AEUserTermTypes.h
  AGP.h
  AIFF.h
  ASDebugging.h
  ASRegistry.h
  ATA.h
  ATSLayoutTypes.h
  ATSTypes.h
  ATSUnicode.h
  AVComponents.h
  AVLTree.h
  Aliases.h
  Appearance.h
  AppleEvents.h
  AppleGuide.h
  AppleScript.h
  AppleTalk.h
  Balloons.h
  CFArray.h
  CFBag.h
  CFBase.h
  CFBundle.h
  CFCharacterSet.h
  CFData.h
  CFDate.h
  CFDictionary.h
  CFNumber.h
  CFPlugIn.h
  CFPreferences.h
  CFPropertyList.h
  CFSet.h
  CFString.h
  CFStringEncodingExt.h
  CFTimeZone.h
  CFURL.h
  CFURLAccess.h
  CMAcceleration.h
  CMApplication.h
  CMCalibrator.h
  CMComponent.h
  CMConversions.h
  CMICCProfile.h
  CMMComponent.h
  CMPRComponent.h
  CMScriptingPlugin.h
  CRMSerialDevices.h
  CTBUtilities.h
  CarbonEvents.h
  CardServices.h
  CodeFragments.h
  Collections.h
  ColorPicker.h
  ColorPickerComponents.h
  CommResources.h
  Components.h
  ConditionalMacros.h
  ConnectionTools.h
  Connections.h
  ControlDefinitions.h
  ControlStrip.h
  Controls.h
  CoreFoundation.h
  CryptoMessageSyntax.h
  CursorDevices.h
  DatabaseAccess.h
  DateTimeUtils.h
  Debugging.h
  DeskBus.h
  DeviceControl.h
  Devices.h
  Dialogs.h
  Dictionary.h
  DigitalSignature.h
  DiskInit.h
  Disks.h
  Displays.h
  Drag.h
  DrawSprocket.h
  DriverFamilyMatching.h
  DriverGestalt.h
  DriverServices.h
  DriverSupport.h
  DriverSynchronization.h
  ENET.h
  EPPC.h
  Editions.h
  Endian.h
  Events.h
  FSM.h
  FileSigning.h
  FileTransferTools.h
  FileTransfers.h
  FileTypesAndCreators.h
  Files.h