PATH 
ADC Home > Documentation > Hardware > Device Managers and Drivers > PCI Card Services > Designing PCI Cards and Drivers for Power Macintosh Computers


  

Data Structures and Constants

Pathnames may be of any length, but components of a pathname are limited as follows:

enum
{
    kRegCStrMaxEntryNameLength              = 31
    kRegMaximumPropertyNameLength           = 31
};

typedef char         RegCStrPathName;
typedef unsigned long
                     RegPathNameSize;

typedef char         RegCStrEntryName,
                     *RegCStrEntryNamePtr
                     RegCStrEntryNameBuf[kRegCStrMaxEntryNameLength];

typedef char         RegPropertyName,
                     *RegPropertyNamePtr
                     RegPropertyNameBuf[kRegMaximumPropertyNameLength];

struct RegEntryID {
    UInt8       opaque[16];
};

typedef struct RegEntryID RegEntryID, *RegEntryIDPtr;

Software must use directed moves when examining a neighborhood in the Registry's name tree. The following constants indicate the direction of movement during traversals of the hierarchical Registry tree:

typedef unsigned long
                     RegIterationOp;

typedef RegIterationOp
                     RegEntryIterationOp;

enum
{
    kRegIterRoot                = 0x2L, // absolute locations
    kRegIterParents             = 0x3L, // include all parent(s) of entry
    kRegIterChildren            = 0x4L, // include all children
    kRegIterDescendants         = 0x5L, // include all subtrees of entry
    kRegIterSibling             = 0x6L, // include all siblings
    kRegIterContinue            = 0x1L  // keep doing the same thing
};

© 1999 Apple Computer, Inc. – (Last Updated 26 March 99)