typedef_6.test   [plain text]


FrT;@1|>>0|$15|HeaderDoc::Test%22|$4|CODE$7|COMMENT$7|CPPCODE$15|EXPECTED_RESULT$23|EXPECTED_RESULT_ALLDECS$7|FAILMSG$8|FILENAME$4|LANG$4|NAME$7|SUBLANG$4|TYPE$485|typedef struct _someTag {
    IUNKNOWN_C_GUTS;
    short firstField;
    
    /* Set the data pointers */
    IOReturn (*setPointers)(void *cmd,
                            IOVirtualRange *sgList);
    void (*getPointers)(void *cmd,
                        IOVirtualRange **outSGList,
                        int *outSGEntries,
                        UInt32 *outTransferCount,
                        Boolean *outIsWrite);

    unsigned long lastField;
} TypedefdStructWithCallbacks;
$2541|/*! @typedef This is a TypedefdStructWithCallbacks
    @abstract Abstract for this API.
    @discussion Defines the basic interface for Command DescriptorBlock (CDB) commands, which you use
    to control SCSI Architectural Model (SAM) devices, including ATAPI, Firewire SBP2, and SCSI devices.

    @field firstField Description of first field.
    @callback setPointers Specifies the location of the data buffer for an I/O command,
    as well as the maximum data transfer count and data transfer direction.

    The setPointers function has the following parameters:
    @param cmd A pointer to the CDB command interface instance for the current command.
    You must always pass this reference.

    @param sgList A pointer to a scatter/gather list (scatter for reading, gather for writing)
    containing one or more records that specify the ranges of virtual memory in the command's
    I/O buffer. Each element in a scatter/gather list describes the location and size of one buffer,
    allowing you to group multiple buffers of any size into a single virtual buffer for an
    I/O transaction. You can pass NULL for this parameter (for a command that doesn't require
    a data buffer).

    @result An IOReturn structure which returns the return value in the structure returned.

    @callback getPointers Gets the location of the data buffer for an I/O command. The buffer
    can be in one or more, possibly discontiguous, locations.

    The getPointers function has the following parameters:
    @param cmd A pointer to the CDB command interface instance for the current command.
    You must always pass this reference.

    @param outSGList A pointer to a pointer to a scatter/gather list (scatter for reading, gather for writing)
    containing one or more records that specify the ranges of virtual memory in the command's
    I/O buffer. Each element in a scatter/gather list describes the location and size of one buffer,
    allowing you to group multiple buffers of any size into a single virtual buffer for an
    I/O transaction. On return, the list specifies the I/O buffer for the command.

    @param outSGEntries On return, specifies the number of records in the scatter/gather list pointed to
    by the outSGList parameter.

    @param outTransferCount On return, the maximum data transfer count in bytes for the
    command.

    @param outIsWrite On return, specifies whether the command is a write command (true),
    or a read command (false)

    @field lastField Description of the struct's last field.
*/
$0|$66215|-=: TOP LEVEL COMMENT PARSE VALUES :=-
inHeader: 0
inClass: 0
inInterface: 0
inCPPHeader: 0
inOCCHeader: 0
inPerlScript: 0
inShellScript: 0
inPHPScript: 0
inJavaSource: 0
inFunctionGroup: 0
inGroup: 0
inFunction: 0
inPDefine: 0
inTypedef: 1
inUnion: 0
inStruct: 0
inConstant: 0
inVar: 0
inEnum: 0
inMethod: 0
inAvailabilityMacro: 0
inUnknown: 0
classType: unknown
inputCounter: 0
blockOffset: 0
fullpath: /test_suite_bogus_path/typedef_6.test
-=: BLOCKPARSE PARSER STATE KEYS :=-
$parserState->{FULLPATH} => /test_suite_bogus_path/typedef_6.test
$parserState->{NEXTTOKENNOCPP} => 0
$parserState->{availability} => 
$parserState->{backslashcount} => 0
$parserState->{basetype} => struct
$parserState->{bracePending} => 0
$parserState->{callbackIsTypedef} => 1
$parserState->{callbackName} => 
$parserState->{callbackNamePending} => -1
$parserState->{categoryClass} => 
$parserState->{classtype} => 
$parserState->{curvarstars} => **********
$parserState->{freezeStack} => ARRAY(OBJID)
$parserState->{freezereturn} => 1
$parserState->{frozensodname} => 
$parserState->{functionReturnsCallback} => 0
$parserState->{hollow} => HeaderDoc::ParseTree=HASH(OBJID)
$parserState->{inBrackets} => 0
$parserState->{inChar} => 0
$parserState->{inClass} => 0
$parserState->{inComment} => 0
$parserState->{inEnum} => 0
$parserState->{inInlineComment} => 0
$parserState->{inMacro} => 0
$parserState->{inMacroLine} => 0
$parserState->{inOperator} => 0
$parserState->{inPrivateParamTypes} => 0
$parserState->{inString} => 0
$parserState->{inTemplate} => 0
$parserState->{inTypedef} => 1
$parserState->{inUnion} => 0
$parserState->{initbsCount} => 0
$parserState->{inputCounter} => 15
$parserState->{kr_c_function} => 0
$parserState->{kr_c_name} => 
$parserState->{lang} => C
$parserState->{lastTreeNode} => HeaderDoc::ParseTree=HASH(OBJID)
$parserState->{lastsymbol} => TypedefdStructWithCallbacks;
$parserState->{leavingComment} => 0
$parserState->{macroNoTrunc} => 1
$parserState->{name} => _someTag
$parserState->{namePending} => 0
$parserState->{noInsert} => 0
$parserState->{occmethod} => 0
$parserState->{occmethodname} => 
$parserState->{occparmlabelfound} => 3
$parserState->{onlyComments} => 0
$parserState->{parsedParamAtBrace} => ARRAY(OBJID)
$parserState->{parsedParamList} => ARRAY(OBJID)
$parserState->{parsedParamParse} => 1
$parserState->{parsedParamStateAtBrace} => ARRAY(OBJID)
$parserState->{posstypes} =>  typedef struct
$parserState->{posstypesPending} => 0
$parserState->{pplStack} => ARRAY(OBJID)
$parserState->{preEqualsSymbol} => 
$parserState->{preTemplateSymbol} => 
$parserState->{returntype} =>  typedef struct _someTag {
     
$parserState->{seenBraces} => 0
$parserState->{seenMacroPart} => 0
$parserState->{seenTilde} => 0
$parserState->{simpleTDcontents} => 
$parserState->{simpleTypedef} => 0
$parserState->{sodclass} => 
$parserState->{sodname} => 
$parserState->{sodtype} => 
$parserState->{stackFrozen} => 0
$parserState->{startOfDec} => 1
$parserState->{sublang} => C
$parserState->{temponlyComments} => 0
$parserState->{treePopTwo} => 0
$parserState->{typestring} => typedef
$parserState->{value} => 
$parserState->{valuepending} => 0
-=: BLOCKPARSE RETURN VALUES :=-
newcount: 15
typelist: typedef struct
namelist: TypedefdStructWithCallbacks,_someTag
posstypes:  typedef struct
value: 
returntype:  typedef struct _someTag {     
pridec: 
simpleTDcontents: 
bpavail: 
blockOffset: 0
conformsToList: 
functionContents: 
extendsClass: 
implementsClass: 
-=: LIST OF PARSED PARAMETERS :=-
Parsed Param 0 => IUNKNOWN_C_GUTS
Parsed Param 1 => short firstField
Parsed Param 2 => IOReturn (*setPointers)(void *cmd,
                            IOVirtualRange *sgList)
Parsed Param 3 => void (*getPointers)(void *cmd,
                        IOVirtualRange **outSGList,
                        int *outSGEntries,
                        UInt32 *outTransferCount,
                        Boolean *outIsWrite)
Parsed Param 4 => unsigned long lastField
-=: DUMP OF PARSE TREE :=-
+---typedef
+--- 
+---struct
+--- 
+---_someTag
+--- 
+---{
|   +---[ NEWLINE ]
|   +---    
|   +---IUNKNOWN_C_GUTS
|   +---;
|   +---[ NEWLINE ]
|   +---    
|   +---short
|   +--- 
|   +---firstField
|   +---;
|   +---[ NEWLINE ]
|   +---[ NEWLINE ]
|   +---    
|   +---/*
|   |   +--- 
|   |   +---Set the data pointers 
|   |   +---*/
|   +---[ NEWLINE ]
|   +---    
|   +---IOReturn
|   +--- 
|   +---(
|   |   +---*
|   |   +---setPointers
|   |   +---)
|   +---(
|   |   +---void
|   |   +--- 
|   |   +---*
|   |   +---cmd
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                            
|   |   +---IOVirtualRange
|   |   +--- 
|   |   +---*
|   |   +---sgList
|   |   +---)
|   +---;
|   +---[ NEWLINE ]
|   +---    
|   +---void
|   +--- 
|   +---(
|   |   +---*
|   |   +---getPointers
|   |   +---)
|   +---(
|   |   +---void
|   |   +--- 
|   |   +---*
|   |   +---cmd
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---IOVirtualRange
|   |   +--- 
|   |   +---*
|   |   +---*
|   |   +---outSGList
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---int
|   |   +--- 
|   |   +---*
|   |   +---outSGEntries
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---UInt32
|   |   +--- 
|   |   +---*
|   |   +---outTransferCount
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---Boolean
|   |   +--- 
|   |   +---*
|   |   +---outIsWrite
|   |   +---)
|   +---;
|   +---[ NEWLINE ]
|   +---[ NEWLINE ]
|   +---    
|   +---unsigned
|   +--- 
|   +---long
|   +--- 
|   +---lastField
|   +---;
|   +---[ NEWLINE ]
|   +---}
+--- 
+---TypedefdStructWithCallbacks
+---;
+--- 
+---[ NEWLINE ]
-=: COMPUTED VALUE :=-
SUCCESS: 0
VALUE: 0
-=: CPP CHANGES :=-
NO CPP CHANGES
-=: FOUND MATCH :=-
1
-=: NAMED OBJECTS :=-
TREE COUNT: 0
INDEX GROUP: 
IS BLOCK: 
OBJECT TYPE: HeaderDoc::Header
NAME: typedef 6
APIUID: //test_ref/doc/header/typedef_6.test
ABSTRACT: ""
DISCUSSION: "<p></p>"
UPDATED: ""
COPYRIGHT: ""
HTMLMETA: ""
PRIVATEDECLARATION: ""
GROUP: ""
INDEXGROUP: ""
THROWS: ""
XMLTHROWS: ""
UPDATED: ""
LINKAGESTATE: ""
ACCESSCONTROL: ""
AVAILABILITY: ""
LINKUID: ""
ORIGCLASS: ""
ISDEFINE: ""
ISTEMPLATE: ""
VALUE: "UNKNOWN"
RETURNTYPE: ""
LINENUM: ""
CLASS: "HeaderDoc::Header"
MASTERENUM: ""
APIREFSETUPDONE: "1"
TPCDONE: ""
NOREGISTERUID: ""
SUPPRESSCHILDREN: ""
NAMELINE_DISCUSSION: ""
HIDEDOC: ""
HIDESINGLETONS: ""
HIDECONTENTS: ""
MAINOBJECT: ""
LIST ATTRIBUTES: 
SHORT ATTRIBUTES: 
LONG ATTRIBUTES: 
    TREE COUNT: 1
    INDEX GROUP: 
    IS BLOCK: 
    OBJECT TYPE: HeaderDoc::Typedef
    NAME: This is a TypedefdStructWithCallbacks
    APIUID: //test_ref/doc/title:tdef/ThisisaTypedefdStructWithCallbacks
    ABSTRACT: "<p>Abstract for this API.
"
    DISCUSSION: "<p>Defines the basic interface for Command DescriptorBlock (CDB) commands, which you use
to control SCSI Architectural Model (SAM) devices, including ATAPI, Firewire SBP2, and SCSI devices.
</p>
"
    UPDATED: ""
    COPYRIGHT: ""
    HTMLMETA: ""
    PRIVATEDECLARATION: ""
    GROUP: ""
    INDEXGROUP: ""
    THROWS: ""
    XMLTHROWS: ""
    UPDATED: ""
    LINKAGESTATE: ""
    ACCESSCONTROL: ""
    AVAILABILITY: ""
    LINKUID: ""
    ORIGCLASS: ""
    ISDEFINE: ""
    ISTEMPLATE: ""
    VALUE: "UNKNOWN"
    RETURNTYPE: ""
    LINENUM: ""
    CLASS: "HeaderDoc::Typedef"
    MASTERENUM: "1"
    APIREFSETUPDONE: "1"
    TPCDONE: ""
    NOREGISTERUID: ""
    SUPPRESSCHILDREN: "0"
    NAMELINE_DISCUSSION: "is a TypedefdStructWithCallbacks"
    HIDEDOC: ""
    HIDESINGLETONS: ""
    HIDECONTENTS: ""
    MAINOBJECT: ""
    LIST ATTRIBUTES: <p><b>See Also</b></p><div class='list_indent'><dl>
<dt><p><hd_link posstarget="//test_ref/c/tdef/TypedefdStructWithCallbacks">TypedefdStructWithCallbacks</hd_link></p></dt><dd></dd><dt><p><hd_link posstarget="//test_ref/c/tag/_someTag">_someTag</hd_link></p></dt><dd></dd></dl></div>

    SHORT ATTRIBUTES: 
    LONG ATTRIBUTES: 
    PARSED PARAMETERS:
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: IUNKNOWN_C_GUTS
        TYPE: 
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: firstField
        TYPE: short
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: setPointers
        TYPE: IOReturn
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: getPointers
        TYPE: void
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: lastField
        TYPE: unsigned long
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
    FIELDS:
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: setPointers
        TYPE: callback
        APIUID: //test_ref/doc/title:internal_temporary_object/ThisisaTypedefdStructWithCallbacks/setPointers
        ABSTRACT: ""
        DISCUSSION: "<p>Specifies the location of the data buffer for an I/O command,
as well as the maximum data transfer count and data transfer direction.
</p>
<p>The setPointers function has the following parameters:"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        USER DICTIONARY:
            cmd	=>	A pointer to the CDB command interface instance for the current command.
You must always pass this reference.
        END USER DICTIONARY
        USER DICTIONARY:
            sgList	=>	A pointer to a scatter/gather list (scatter for reading, gather for writing)
containing one or more records that specify the ranges of virtual memory in the command's
I/O buffer. Each element in a scatter/gather list describes the location and size of one buffer,
allowing you to group multiple buffers of any size into a single virtual buffer for an
I/O transaction. You can pass NULL for this parameter (for a command that doesn't require
a data buffer).
        END USER DICTIONARY
        USER DICTIONARY:
            Result	=>	An IOReturn structure which returns the return value in the structure returned.
        END USER DICTIONARY
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: getPointers
        TYPE: callback
        APIUID: //test_ref/doc/title:internal_temporary_object/ThisisaTypedefdStructWithCallbacks/getPointers
        ABSTRACT: ""
        DISCUSSION: "<p>Gets the location of the data buffer for an I/O command. The buffer
can be in one or more, possibly discontiguous, locations.
</p>
<p>The getPointers function has the following parameters:"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        USER DICTIONARY:
            cmd	=>	A pointer to the CDB command interface instance for the current command.
You must always pass this reference.
        END USER DICTIONARY
        USER DICTIONARY:
            outSGList	=>	A pointer to a pointer to a scatter/gather list (scatter for reading, gather for writing)
containing one or more records that specify the ranges of virtual memory in the command's
I/O buffer. Each element in a scatter/gather list describes the location and size of one buffer,
allowing you to group multiple buffers of any size into a single virtual buffer for an
I/O transaction. On return, the list specifies the I/O buffer for the command.
        END USER DICTIONARY
        USER DICTIONARY:
            outSGEntries	=>	On return, specifies the number of records in the scatter/gather list pointed to
by the outSGList parameter.
        END USER DICTIONARY
        USER DICTIONARY:
            outTransferCount	=>	On return, the maximum data transfer count in bytes for the
command.
        END USER DICTIONARY
        USER DICTIONARY:
            outIsWrite	=>	On return, specifies whether the command is a write command (true),
or a read command (false)
        END USER DICTIONARY
        USER DICTIONARY:
            lastField	=>	Description of the struct's last field.
        END USER DICTIONARY
    TAGGED PARAMETERS:
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: firstField
        TYPE: 
        APIUID: //test_ref/doc/title:internal_temporary_object/ThisisaTypedefdStructWithCallbacks/firstField
        ABSTRACT: ""
        DISCUSSION: "<p>Description of first field."
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
    TREE COUNT: 1
    INDEX GROUP: 
    IS BLOCK: 
    OBJECT TYPE: HeaderDoc::Typedef
    NAME: TypedefdStructWithCallbacks
    APIUID: //test_ref/c/tdef/TypedefdStructWithCallbacks
    ABSTRACT: "<p>Abstract for this API.
"
    DISCUSSION: "<p>Defines the basic interface for Command DescriptorBlock (CDB) commands, which you use
to control SCSI Architectural Model (SAM) devices, including ATAPI, Firewire SBP2, and SCSI devices.
</p>
"
    UPDATED: ""
    COPYRIGHT: ""
    HTMLMETA: ""
    PRIVATEDECLARATION: ""
    GROUP: ""
    INDEXGROUP: ""
    THROWS: ""
    XMLTHROWS: ""
    UPDATED: ""
    LINKAGESTATE: ""
    ACCESSCONTROL: ""
    AVAILABILITY: ""
    LINKUID: ""
    ORIGCLASS: ""
    ISDEFINE: ""
    ISTEMPLATE: ""
    VALUE: "UNKNOWN"
    RETURNTYPE: ""
    LINENUM: ""
    CLASS: "HeaderDoc::Typedef"
    MASTERENUM: ""
    APIREFSETUPDONE: "1"
    TPCDONE: ""
    NOREGISTERUID: ""
    SUPPRESSCHILDREN: "0"
    NAMELINE_DISCUSSION: ""
    HIDEDOC: ""
    HIDESINGLETONS: ""
    HIDECONTENTS: ""
    MAINOBJECT: ""
    LIST ATTRIBUTES: <p><b>See Also</b></p><div class='list_indent'><dl>
<dt><p><hd_link posstarget="//test_ref/doc/title:tdef/ThisisaTypedefdStructWithCallbacks">This is a TypedefdStructWithCallbacks</hd_link></p></dt><dd></dd><dt><p><hd_link posstarget="//test_ref/c/tag/_someTag">_someTag</hd_link></p></dt><dd></dd></dl></div>

    SHORT ATTRIBUTES: 
    LONG ATTRIBUTES: 
    PARSED PARAMETERS:
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: IUNKNOWN_C_GUTS
        TYPE: 
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: firstField
        TYPE: short
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: setPointers
        TYPE: IOReturn
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: getPointers
        TYPE: void
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: lastField
        TYPE: unsigned long
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
    FIELDS:
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: setPointers
        TYPE: callback
        APIUID: //test_ref/doc/typedeffield/TypedefdStructWithCallbacks/setPointers
        ABSTRACT: ""
        DISCUSSION: "<p>Specifies the location of the data buffer for an I/O command,
as well as the maximum data transfer count and data transfer direction.
</p>
<p>The setPointers function has the following parameters:"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: "0"
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        USER DICTIONARY:
            cmd	=>	A pointer to the CDB command interface instance for the current command.
You must always pass this reference.
        END USER DICTIONARY
        USER DICTIONARY:
            sgList	=>	A pointer to a scatter/gather list (scatter for reading, gather for writing)
containing one or more records that specify the ranges of virtual memory in the command's
I/O buffer. Each element in a scatter/gather list describes the location and size of one buffer,
allowing you to group multiple buffers of any size into a single virtual buffer for an
I/O transaction. You can pass NULL for this parameter (for a command that doesn't require
a data buffer).
        END USER DICTIONARY
        USER DICTIONARY:
            Result	=>	An IOReturn structure which returns the return value in the structure returned.
        END USER DICTIONARY
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: getPointers
        TYPE: callback
        APIUID: //test_ref/doc/typedeffield/TypedefdStructWithCallbacks/getPointers
        ABSTRACT: ""
        DISCUSSION: "<p>Gets the location of the data buffer for an I/O command. The buffer
can be in one or more, possibly discontiguous, locations.
</p>
<p>The getPointers function has the following parameters:"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: "0"
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        USER DICTIONARY:
            cmd	=>	A pointer to the CDB command interface instance for the current command.
You must always pass this reference.
        END USER DICTIONARY
        USER DICTIONARY:
            outSGList	=>	A pointer to a pointer to a scatter/gather list (scatter for reading, gather for writing)
containing one or more records that specify the ranges of virtual memory in the command's
I/O buffer. Each element in a scatter/gather list describes the location and size of one buffer,
allowing you to group multiple buffers of any size into a single virtual buffer for an
I/O transaction. On return, the list specifies the I/O buffer for the command.
        END USER DICTIONARY
        USER DICTIONARY:
            outSGEntries	=>	On return, specifies the number of records in the scatter/gather list pointed to
by the outSGList parameter.
        END USER DICTIONARY
        USER DICTIONARY:
            outTransferCount	=>	On return, the maximum data transfer count in bytes for the
command.
        END USER DICTIONARY
        USER DICTIONARY:
            outIsWrite	=>	On return, specifies whether the command is a write command (true),
or a read command (false)
        END USER DICTIONARY
        USER DICTIONARY:
            lastField	=>	Description of the struct's last field.
        END USER DICTIONARY
    TAGGED PARAMETERS:
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: firstField
        TYPE: 
        APIUID: //test_ref/doc/typedeffield/TypedefdStructWithCallbacks/firstField
        ABSTRACT: ""
        DISCUSSION: "<p>Description of first field."
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: "0"
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
    TREE COUNT: 1
    INDEX GROUP: 
    IS BLOCK: 
    OBJECT TYPE: HeaderDoc::Struct
    NAME: _someTag
    APIUID: //test_ref/c/tag/_someTag
    ABSTRACT: "<p>Abstract for this API.
"
    DISCUSSION: "<p>Defines the basic interface for Command DescriptorBlock (CDB) commands, which you use
to control SCSI Architectural Model (SAM) devices, including ATAPI, Firewire SBP2, and SCSI devices.
</p>
"
    UPDATED: ""
    COPYRIGHT: ""
    HTMLMETA: ""
    PRIVATEDECLARATION: ""
    GROUP: ""
    INDEXGROUP: ""
    THROWS: ""
    XMLTHROWS: ""
    UPDATED: ""
    LINKAGESTATE: ""
    ACCESSCONTROL: ""
    AVAILABILITY: ""
    LINKUID: ""
    ORIGCLASS: ""
    ISDEFINE: ""
    ISTEMPLATE: ""
    VALUE: "UNKNOWN"
    RETURNTYPE: ""
    LINENUM: ""
    CLASS: "HeaderDoc::Struct"
    MASTERENUM: ""
    APIREFSETUPDONE: "1"
    TPCDONE: ""
    NOREGISTERUID: ""
    SUPPRESSCHILDREN: "0"
    NAMELINE_DISCUSSION: ""
    HIDEDOC: ""
    HIDESINGLETONS: ""
    HIDECONTENTS: ""
    MAINOBJECT: ""
    LIST ATTRIBUTES: <p><b>See Also</b></p><div class='list_indent'><dl>
<dt><p><hd_link posstarget="//test_ref/doc/title:tdef/ThisisaTypedefdStructWithCallbacks">This is a TypedefdStructWithCallbacks</hd_link></p></dt><dd></dd><dt><p><hd_link posstarget="//test_ref/c/tdef/TypedefdStructWithCallbacks">TypedefdStructWithCallbacks</hd_link></p></dt><dd></dd></dl></div>

    SHORT ATTRIBUTES: 
    LONG ATTRIBUTES: 
    PARSED PARAMETERS:
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: IUNKNOWN_C_GUTS
        TYPE: 
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: firstField
        TYPE: short
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: setPointers
        TYPE: IOReturn
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: getPointers
        TYPE: void
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: lastField
        TYPE: unsigned long
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
    FIELDS:
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: setPointers
        TYPE: callback
        APIUID: //test_ref/doc/structfield/_someTag/setPointers
        ABSTRACT: ""
        DISCUSSION: "<p>Specifies the location of the data buffer for an I/O command,
as well as the maximum data transfer count and data transfer direction.
</p>
<p>The setPointers function has the following parameters:"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: "0"
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        USER DICTIONARY:
            cmd	=>	A pointer to the CDB command interface instance for the current command.
You must always pass this reference.
        END USER DICTIONARY
        USER DICTIONARY:
            sgList	=>	A pointer to a scatter/gather list (scatter for reading, gather for writing)
containing one or more records that specify the ranges of virtual memory in the command's
I/O buffer. Each element in a scatter/gather list describes the location and size of one buffer,
allowing you to group multiple buffers of any size into a single virtual buffer for an
I/O transaction. You can pass NULL for this parameter (for a command that doesn't require
a data buffer).
        END USER DICTIONARY
        USER DICTIONARY:
            Result	=>	An IOReturn structure which returns the return value in the structure returned.
        END USER DICTIONARY
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: getPointers
        TYPE: callback
        APIUID: //test_ref/doc/structfield/_someTag/getPointers
        ABSTRACT: ""
        DISCUSSION: "<p>Gets the location of the data buffer for an I/O command. The buffer
can be in one or more, possibly discontiguous, locations.
</p>
<p>The getPointers function has the following parameters:"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: "0"
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        USER DICTIONARY:
            cmd	=>	A pointer to the CDB command interface instance for the current command.
You must always pass this reference.
        END USER DICTIONARY
        USER DICTIONARY:
            outSGList	=>	A pointer to a pointer to a scatter/gather list (scatter for reading, gather for writing)
containing one or more records that specify the ranges of virtual memory in the command's
I/O buffer. Each element in a scatter/gather list describes the location and size of one buffer,
allowing you to group multiple buffers of any size into a single virtual buffer for an
I/O transaction. On return, the list specifies the I/O buffer for the command.
        END USER DICTIONARY
        USER DICTIONARY:
            outSGEntries	=>	On return, specifies the number of records in the scatter/gather list pointed to
by the outSGList parameter.
        END USER DICTIONARY
        USER DICTIONARY:
            outTransferCount	=>	On return, the maximum data transfer count in bytes for the
command.
        END USER DICTIONARY
        USER DICTIONARY:
            outIsWrite	=>	On return, specifies whether the command is a write command (true),
or a read command (false)
        END USER DICTIONARY
        USER DICTIONARY:
            lastField	=>	Description of the struct's last field.
        END USER DICTIONARY
    TAGGED PARAMETERS:
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: firstField
        TYPE: 
        APIUID: //test_ref/doc/structfield/_someTag/firstField
        ABSTRACT: ""
        DISCUSSION: "<p>Description of first field."
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: "0"
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
-=: NAMED OBJECT PARSE TREES :=-
OBJECT: _someTag (HeaderDoc::Struct)
+---typedef
+--- 
+---struct
+--- 
+---_someTag
+--- 
+---{
|   +---[ NEWLINE ]
|   +---    
|   +---IUNKNOWN_C_GUTS
|   +---;
|   +---[ NEWLINE ]
|   +---    
|   +---short
|   +--- 
|   +---firstField
|   +---;
|   +---[ NEWLINE ]
|   +---[ NEWLINE ]
|   +---    
|   +---/*
|   |   +--- 
|   |   +---Set the data pointers 
|   |   +---*/
|   +---[ NEWLINE ]
|   +---    
|   +---IOReturn
|   +--- 
|   +---(
|   |   +---*
|   |   +---setPointers
|   |   +---)
|   +---(
|   |   +---void
|   |   +--- 
|   |   +---*
|   |   +---cmd
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                            
|   |   +---IOVirtualRange
|   |   +--- 
|   |   +---*
|   |   +---sgList
|   |   +---)
|   +---;
|   +---[ NEWLINE ]
|   +---    
|   +---void
|   +--- 
|   +---(
|   |   +---*
|   |   +---getPointers
|   |   +---)
|   +---(
|   |   +---void
|   |   +--- 
|   |   +---*
|   |   +---cmd
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---IOVirtualRange
|   |   +--- 
|   |   +---*
|   |   +---*
|   |   +---outSGList
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---int
|   |   +--- 
|   |   +---*
|   |   +---outSGEntries
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---UInt32
|   |   +--- 
|   |   +---*
|   |   +---outTransferCount
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---Boolean
|   |   +--- 
|   |   +---*
|   |   +---outIsWrite
|   |   +---)
|   +---;
|   +---[ NEWLINE ]
|   +---[ NEWLINE ]
|   +---    
|   +---unsigned
|   +--- 
|   +---long
|   +--- 
|   +---lastField
|   +---;
|   +---[ NEWLINE ]
|   +---}
+--- 
+---TypedefdStructWithCallbacks
+---;
+--- 
+---[ NEWLINE ]
END OF OBJECT


OBJECT: _someTag (HeaderDoc::Struct)
+---typedef
+--- 
+---struct
+--- 
+---_someTag
+--- 
+---{
|   +---[ NEWLINE ]
|   +---    
|   +---IUNKNOWN_C_GUTS
|   +---;
|   +---[ NEWLINE ]
|   +---    
|   +---short
|   +--- 
|   +---firstField
|   +---;
|   +---[ NEWLINE ]
|   +---[ NEWLINE ]
|   +---    
|   +---/*
|   |   +--- 
|   |   +---Set the data pointers 
|   |   +---*/
|   +---[ NEWLINE ]
|   +---    
|   +---IOReturn
|   +--- 
|   +---(
|   |   +---*
|   |   +---setPointers
|   |   +---)
|   +---(
|   |   +---void
|   |   +--- 
|   |   +---*
|   |   +---cmd
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                            
|   |   +---IOVirtualRange
|   |   +--- 
|   |   +---*
|   |   +---sgList
|   |   +---)
|   +---;
|   +---[ NEWLINE ]
|   +---    
|   +---void
|   +--- 
|   +---(
|   |   +---*
|   |   +---getPointers
|   |   +---)
|   +---(
|   |   +---void
|   |   +--- 
|   |   +---*
|   |   +---cmd
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---IOVirtualRange
|   |   +--- 
|   |   +---*
|   |   +---*
|   |   +---outSGList
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---int
|   |   +--- 
|   |   +---*
|   |   +---outSGEntries
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---UInt32
|   |   +--- 
|   |   +---*
|   |   +---outTransferCount
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---Boolean
|   |   +--- 
|   |   +---*
|   |   +---outIsWrite
|   |   +---)
|   +---;
|   +---[ NEWLINE ]
|   +---[ NEWLINE ]
|   +---    
|   +---unsigned
|   +--- 
|   +---long
|   +--- 
|   +---lastField
|   +---;
|   +---[ NEWLINE ]
|   +---}
+--- 
+---TypedefdStructWithCallbacks
+---;
+--- 
+---[ NEWLINE ]
END OF OBJECT


OBJECT: _someTag (HeaderDoc::Struct)
+---typedef
+--- 
+---struct
+--- 
+---_someTag
+--- 
+---{
|   +---[ NEWLINE ]
|   +---    
|   +---IUNKNOWN_C_GUTS
|   +---;
|   +---[ NEWLINE ]
|   +---    
|   +---short
|   +--- 
|   +---firstField
|   +---;
|   +---[ NEWLINE ]
|   +---[ NEWLINE ]
|   +---    
|   +---/*
|   |   +--- 
|   |   +---Set the data pointers 
|   |   +---*/
|   +---[ NEWLINE ]
|   +---    
|   +---IOReturn
|   +--- 
|   +---(
|   |   +---*
|   |   +---setPointers
|   |   +---)
|   +---(
|   |   +---void
|   |   +--- 
|   |   +---*
|   |   +---cmd
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                            
|   |   +---IOVirtualRange
|   |   +--- 
|   |   +---*
|   |   +---sgList
|   |   +---)
|   +---;
|   +---[ NEWLINE ]
|   +---    
|   +---void
|   +--- 
|   +---(
|   |   +---*
|   |   +---getPointers
|   |   +---)
|   +---(
|   |   +---void
|   |   +--- 
|   |   +---*
|   |   +---cmd
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---IOVirtualRange
|   |   +--- 
|   |   +---*
|   |   +---*
|   |   +---outSGList
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---int
|   |   +--- 
|   |   +---*
|   |   +---outSGEntries
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---UInt32
|   |   +--- 
|   |   +---*
|   |   +---outTransferCount
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---Boolean
|   |   +--- 
|   |   +---*
|   |   +---outIsWrite
|   |   +---)
|   +---;
|   +---[ NEWLINE ]
|   +---[ NEWLINE ]
|   +---    
|   +---unsigned
|   +--- 
|   +---long
|   +--- 
|   +---lastField
|   +---;
|   +---[ NEWLINE ]
|   +---}
+--- 
+---TypedefdStructWithCallbacks
+---;
+--- 
+---[ NEWLINE ]
END OF OBJECT



-=: HTML OUTPUT OF PARSE TREES :=-
OBJECT: _someTag (HeaderDoc::Struct)
	<span class="keyword">typedef</span> <span class="keyword">struct</span> <!-- a logicalPath="//test_ref/c/cl/_someTag //test_ref/c/tdef/_someTag //test_ref/c/tag/_someTag //test_ref/c/struct/_someTag //test_ref/c/intf/_someTag //test_ref/doc/anysymbol/_someTag" machineGenerated="true" --><span class="type">_someTag</span><!-- /a --> { 
	    <!-- a logicalPath="//test_ref/c/econst/IUNKNOWN_C_GUTS //test_ref/c/data/IUNKNOWN_C_GUTS //test_ref/c/clconst/IUNKNOWN_C_GUTS " machineGenerated="true" --><span class="var">IUNKNOWN_C_GUTS</span><!-- /a -->; 
	    <!-- a logicalPath="//test_ref/c/cl/short //test_ref/c/tdef/short //test_ref/c/tag/short //test_ref/c/struct/short //test_ref/c/intf/short //test_ref/doc/anysymbol/short" machineGenerated="true" --><span class="type">short</span><!-- /a --> <!-- a logicalPath="//test_ref/c/econst/firstField //test_ref/c/data/firstField //test_ref/c/clconst/firstField " machineGenerated="true" --><span class="var">firstField</span><!-- /a -->;  
	    <span class="comment">/* Set the data pointers */</span>
	    <!-- a logicalPath="//test_ref/c/cl/IOReturn //test_ref/c/tdef/IOReturn //test_ref/c/tag/IOReturn //test_ref/c/struct/IOReturn //test_ref/c/intf/IOReturn //test_ref/doc/anysymbol/IOReturn" machineGenerated="true" --><span class="type">IOReturn</span><!-- /a --> (<span class="type">*</span><!-- a logicalPath="//test_ref/c/instm/setPointers //test_ref/c/clm/setPointers //test_ref/c/intfcm/setPointers //test_ref/c/intfm/setPointers //test_ref/c/func/setPointers //test_ref/c/ftmplt/setPointers //test_ref/c/defn/setPointers //test_ref/c/macro/setPointers //test_ref/doc/anysymbol/setPointers" machineGenerated="true" --><span class="function">setPointers</span><!-- /a -->)(
	        <!-- a logicalPath="//test_ref/c/cl/void //test_ref/c/tdef/void //test_ref/c/tag/void //test_ref/c/struct/void //test_ref/c/intf/void //test_ref/doc/anysymbol/void" machineGenerated="true" --><span class="type">void</span><!-- /a --> <span class="type">*</span><span class="param">cmd</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/IOVirtualRange //test_ref/c/tdef/IOVirtualRange //test_ref/c/tag/IOVirtualRange //test_ref/c/struct/IOVirtualRange //test_ref/c/intf/IOVirtualRange //test_ref/doc/anysymbol/IOVirtualRange" machineGenerated="true" --><span class="type">IOVirtualRange</span><!-- /a --> <span class="type">*</span><span class="param">sgList</span>); 
	    <!-- a logicalPath="//test_ref/c/cl/void //test_ref/c/tdef/void //test_ref/c/tag/void //test_ref/c/struct/void //test_ref/c/intf/void //test_ref/doc/anysymbol/void" machineGenerated="true" --><span class="type">void</span><!-- /a --> (<span class="type">*</span><!-- a logicalPath="//test_ref/c/instm/getPointers //test_ref/c/clm/getPointers //test_ref/c/intfcm/getPointers //test_ref/c/intfm/getPointers //test_ref/c/func/getPointers //test_ref/c/ftmplt/getPointers //test_ref/c/defn/getPointers //test_ref/c/macro/getPointers //test_ref/doc/anysymbol/getPointers" machineGenerated="true" --><span class="function">getPointers</span><!-- /a -->)(
	        <!-- a logicalPath="//test_ref/c/cl/void //test_ref/c/tdef/void //test_ref/c/tag/void //test_ref/c/struct/void //test_ref/c/intf/void //test_ref/doc/anysymbol/void" machineGenerated="true" --><span class="type">void</span><!-- /a --> <span class="type">*</span><span class="param">cmd</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/IOVirtualRange //test_ref/c/tdef/IOVirtualRange //test_ref/c/tag/IOVirtualRange //test_ref/c/struct/IOVirtualRange //test_ref/c/intf/IOVirtualRange //test_ref/doc/anysymbol/IOVirtualRange" machineGenerated="true" --><span class="type">IOVirtualRange</span><!-- /a --> <span class="type">*</span><span class="type">*</span><span class="param">outSGList</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/int //test_ref/c/tdef/int //test_ref/c/tag/int //test_ref/c/struct/int //test_ref/c/intf/int //test_ref/doc/anysymbol/int" machineGenerated="true" --><span class="type">int</span><!-- /a --> <span class="type">*</span><span class="param">outSGEntries</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/UInt32 //test_ref/c/tdef/UInt32 //test_ref/c/tag/UInt32 //test_ref/c/struct/UInt32 //test_ref/c/intf/UInt32 //test_ref/doc/anysymbol/UInt32" machineGenerated="true" --><span class="type">UInt32</span><!-- /a --> <span class="type">*</span><span class="param">outTransferCount</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/Boolean //test_ref/c/tdef/Boolean //test_ref/c/tag/Boolean //test_ref/c/struct/Boolean //test_ref/c/intf/Boolean //test_ref/doc/anysymbol/Boolean" machineGenerated="true" --><span class="type">Boolean</span><!-- /a --> <span class="type">*</span><span class="param">outIsWrite</span>);  
	    <span class="keyword">unsigned</span> <!-- a logicalPath="//test_ref/c/cl/long //test_ref/c/tdef/long //test_ref/c/tag/long //test_ref/c/struct/long //test_ref/c/intf/long //test_ref/doc/anysymbol/long" machineGenerated="true" --><span class="type">long</span><!-- /a --> <!-- a logicalPath="//test_ref/c/econst/lastField //test_ref/c/data/lastField //test_ref/c/clconst/lastField " machineGenerated="true" --><span class="var">lastField</span><!-- /a -->; 
	} <!-- a logicalPath="//test_ref/c/econst/TypedefdStructWithCallbacks //test_ref/c/data/TypedefdStructWithCallbacks //test_ref/c/clconst/TypedefdStructWithCallbacks " machineGenerated="true" --><span class="var">TypedefdStructWithCallbacks</span><!-- /a -->;  
END OF OBJECT


OBJECT: _someTag (HeaderDoc::Struct)
	<span class="keyword">typedef</span> <span class="keyword">struct</span> <!-- a logicalPath="//test_ref/c/cl/_someTag //test_ref/c/tdef/_someTag //test_ref/c/tag/_someTag //test_ref/c/struct/_someTag //test_ref/c/intf/_someTag //test_ref/doc/anysymbol/_someTag" machineGenerated="true" --><span class="type">_someTag</span><!-- /a --> { 
	    <!-- a logicalPath="//test_ref/c/econst/IUNKNOWN_C_GUTS //test_ref/c/data/IUNKNOWN_C_GUTS //test_ref/c/clconst/IUNKNOWN_C_GUTS " machineGenerated="true" --><span class="var">IUNKNOWN_C_GUTS</span><!-- /a -->; 
	    <!-- a logicalPath="//test_ref/c/cl/short //test_ref/c/tdef/short //test_ref/c/tag/short //test_ref/c/struct/short //test_ref/c/intf/short //test_ref/doc/anysymbol/short" machineGenerated="true" --><span class="type">short</span><!-- /a --> <!-- a logicalPath="//test_ref/c/econst/firstField //test_ref/c/data/firstField //test_ref/c/clconst/firstField " machineGenerated="true" --><span class="var">firstField</span><!-- /a -->;  
	    <span class="comment">/* Set the data pointers */</span>
	    <!-- a logicalPath="//test_ref/c/cl/IOReturn //test_ref/c/tdef/IOReturn //test_ref/c/tag/IOReturn //test_ref/c/struct/IOReturn //test_ref/c/intf/IOReturn //test_ref/doc/anysymbol/IOReturn" machineGenerated="true" --><span class="type">IOReturn</span><!-- /a --> (<span class="type">*</span><!-- a logicalPath="//test_ref/c/instm/setPointers //test_ref/c/clm/setPointers //test_ref/c/intfcm/setPointers //test_ref/c/intfm/setPointers //test_ref/c/func/setPointers //test_ref/c/ftmplt/setPointers //test_ref/c/defn/setPointers //test_ref/c/macro/setPointers //test_ref/doc/anysymbol/setPointers" machineGenerated="true" --><span class="function">setPointers</span><!-- /a -->)(
	        <!-- a logicalPath="//test_ref/c/cl/void //test_ref/c/tdef/void //test_ref/c/tag/void //test_ref/c/struct/void //test_ref/c/intf/void //test_ref/doc/anysymbol/void" machineGenerated="true" --><span class="type">void</span><!-- /a --> <span class="type">*</span><span class="param">cmd</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/IOVirtualRange //test_ref/c/tdef/IOVirtualRange //test_ref/c/tag/IOVirtualRange //test_ref/c/struct/IOVirtualRange //test_ref/c/intf/IOVirtualRange //test_ref/doc/anysymbol/IOVirtualRange" machineGenerated="true" --><span class="type">IOVirtualRange</span><!-- /a --> <span class="type">*</span><span class="param">sgList</span>); 
	    <!-- a logicalPath="//test_ref/c/cl/void //test_ref/c/tdef/void //test_ref/c/tag/void //test_ref/c/struct/void //test_ref/c/intf/void //test_ref/doc/anysymbol/void" machineGenerated="true" --><span class="type">void</span><!-- /a --> (<span class="type">*</span><!-- a logicalPath="//test_ref/c/instm/getPointers //test_ref/c/clm/getPointers //test_ref/c/intfcm/getPointers //test_ref/c/intfm/getPointers //test_ref/c/func/getPointers //test_ref/c/ftmplt/getPointers //test_ref/c/defn/getPointers //test_ref/c/macro/getPointers //test_ref/doc/anysymbol/getPointers" machineGenerated="true" --><span class="function">getPointers</span><!-- /a -->)(
	        <!-- a logicalPath="//test_ref/c/cl/void //test_ref/c/tdef/void //test_ref/c/tag/void //test_ref/c/struct/void //test_ref/c/intf/void //test_ref/doc/anysymbol/void" machineGenerated="true" --><span class="type">void</span><!-- /a --> <span class="type">*</span><span class="param">cmd</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/IOVirtualRange //test_ref/c/tdef/IOVirtualRange //test_ref/c/tag/IOVirtualRange //test_ref/c/struct/IOVirtualRange //test_ref/c/intf/IOVirtualRange //test_ref/doc/anysymbol/IOVirtualRange" machineGenerated="true" --><span class="type">IOVirtualRange</span><!-- /a --> <span class="type">*</span><span class="type">*</span><span class="param">outSGList</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/int //test_ref/c/tdef/int //test_ref/c/tag/int //test_ref/c/struct/int //test_ref/c/intf/int //test_ref/doc/anysymbol/int" machineGenerated="true" --><span class="type">int</span><!-- /a --> <span class="type">*</span><span class="param">outSGEntries</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/UInt32 //test_ref/c/tdef/UInt32 //test_ref/c/tag/UInt32 //test_ref/c/struct/UInt32 //test_ref/c/intf/UInt32 //test_ref/doc/anysymbol/UInt32" machineGenerated="true" --><span class="type">UInt32</span><!-- /a --> <span class="type">*</span><span class="param">outTransferCount</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/Boolean //test_ref/c/tdef/Boolean //test_ref/c/tag/Boolean //test_ref/c/struct/Boolean //test_ref/c/intf/Boolean //test_ref/doc/anysymbol/Boolean" machineGenerated="true" --><span class="type">Boolean</span><!-- /a --> <span class="type">*</span><span class="param">outIsWrite</span>);  
	    <span class="keyword">unsigned</span> <!-- a logicalPath="//test_ref/c/cl/long //test_ref/c/tdef/long //test_ref/c/tag/long //test_ref/c/struct/long //test_ref/c/intf/long //test_ref/doc/anysymbol/long" machineGenerated="true" --><span class="type">long</span><!-- /a --> <!-- a logicalPath="//test_ref/c/econst/lastField //test_ref/c/data/lastField //test_ref/c/clconst/lastField " machineGenerated="true" --><span class="var">lastField</span><!-- /a -->; 
	} <!-- a logicalPath="//test_ref/c/econst/TypedefdStructWithCallbacks //test_ref/c/data/TypedefdStructWithCallbacks //test_ref/c/clconst/TypedefdStructWithCallbacks " machineGenerated="true" --><span class="var">TypedefdStructWithCallbacks</span><!-- /a -->;  
END OF OBJECT


OBJECT: _someTag (HeaderDoc::Struct)
	<span class="keyword">typedef</span> <span class="keyword">struct</span> <!-- a logicalPath="//test_ref/c/cl/_someTag //test_ref/c/tdef/_someTag //test_ref/c/tag/_someTag //test_ref/c/struct/_someTag //test_ref/c/intf/_someTag //test_ref/doc/anysymbol/_someTag" machineGenerated="true" --><span class="type">_someTag</span><!-- /a --> { 
	    <!-- a logicalPath="//test_ref/c/econst/IUNKNOWN_C_GUTS //test_ref/c/data/IUNKNOWN_C_GUTS //test_ref/c/clconst/IUNKNOWN_C_GUTS " machineGenerated="true" --><span class="var">IUNKNOWN_C_GUTS</span><!-- /a -->; 
	    <!-- a logicalPath="//test_ref/c/cl/short //test_ref/c/tdef/short //test_ref/c/tag/short //test_ref/c/struct/short //test_ref/c/intf/short //test_ref/doc/anysymbol/short" machineGenerated="true" --><span class="type">short</span><!-- /a --> <!-- a logicalPath="//test_ref/c/econst/firstField //test_ref/c/data/firstField //test_ref/c/clconst/firstField " machineGenerated="true" --><span class="var">firstField</span><!-- /a -->;  
	    <span class="comment">/* Set the data pointers */</span>
	    <!-- a logicalPath="//test_ref/c/cl/IOReturn //test_ref/c/tdef/IOReturn //test_ref/c/tag/IOReturn //test_ref/c/struct/IOReturn //test_ref/c/intf/IOReturn //test_ref/doc/anysymbol/IOReturn" machineGenerated="true" --><span class="type">IOReturn</span><!-- /a --> (<span class="type">*</span><!-- a logicalPath="//test_ref/c/instm/setPointers //test_ref/c/clm/setPointers //test_ref/c/intfcm/setPointers //test_ref/c/intfm/setPointers //test_ref/c/func/setPointers //test_ref/c/ftmplt/setPointers //test_ref/c/defn/setPointers //test_ref/c/macro/setPointers //test_ref/doc/anysymbol/setPointers" machineGenerated="true" --><span class="function">setPointers</span><!-- /a -->)(
	        <!-- a logicalPath="//test_ref/c/cl/void //test_ref/c/tdef/void //test_ref/c/tag/void //test_ref/c/struct/void //test_ref/c/intf/void //test_ref/doc/anysymbol/void" machineGenerated="true" --><span class="type">void</span><!-- /a --> <span class="type">*</span><span class="param">cmd</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/IOVirtualRange //test_ref/c/tdef/IOVirtualRange //test_ref/c/tag/IOVirtualRange //test_ref/c/struct/IOVirtualRange //test_ref/c/intf/IOVirtualRange //test_ref/doc/anysymbol/IOVirtualRange" machineGenerated="true" --><span class="type">IOVirtualRange</span><!-- /a --> <span class="type">*</span><span class="param">sgList</span>); 
	    <!-- a logicalPath="//test_ref/c/cl/void //test_ref/c/tdef/void //test_ref/c/tag/void //test_ref/c/struct/void //test_ref/c/intf/void //test_ref/doc/anysymbol/void" machineGenerated="true" --><span class="type">void</span><!-- /a --> (<span class="type">*</span><!-- a logicalPath="//test_ref/c/instm/getPointers //test_ref/c/clm/getPointers //test_ref/c/intfcm/getPointers //test_ref/c/intfm/getPointers //test_ref/c/func/getPointers //test_ref/c/ftmplt/getPointers //test_ref/c/defn/getPointers //test_ref/c/macro/getPointers //test_ref/doc/anysymbol/getPointers" machineGenerated="true" --><span class="function">getPointers</span><!-- /a -->)(
	        <!-- a logicalPath="//test_ref/c/cl/void //test_ref/c/tdef/void //test_ref/c/tag/void //test_ref/c/struct/void //test_ref/c/intf/void //test_ref/doc/anysymbol/void" machineGenerated="true" --><span class="type">void</span><!-- /a --> <span class="type">*</span><span class="param">cmd</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/IOVirtualRange //test_ref/c/tdef/IOVirtualRange //test_ref/c/tag/IOVirtualRange //test_ref/c/struct/IOVirtualRange //test_ref/c/intf/IOVirtualRange //test_ref/doc/anysymbol/IOVirtualRange" machineGenerated="true" --><span class="type">IOVirtualRange</span><!-- /a --> <span class="type">*</span><span class="type">*</span><span class="param">outSGList</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/int //test_ref/c/tdef/int //test_ref/c/tag/int //test_ref/c/struct/int //test_ref/c/intf/int //test_ref/doc/anysymbol/int" machineGenerated="true" --><span class="type">int</span><!-- /a --> <span class="type">*</span><span class="param">outSGEntries</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/UInt32 //test_ref/c/tdef/UInt32 //test_ref/c/tag/UInt32 //test_ref/c/struct/UInt32 //test_ref/c/intf/UInt32 //test_ref/doc/anysymbol/UInt32" machineGenerated="true" --><span class="type">UInt32</span><!-- /a --> <span class="type">*</span><span class="param">outTransferCount</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/Boolean //test_ref/c/tdef/Boolean //test_ref/c/tag/Boolean //test_ref/c/struct/Boolean //test_ref/c/intf/Boolean //test_ref/doc/anysymbol/Boolean" machineGenerated="true" --><span class="type">Boolean</span><!-- /a --> <span class="type">*</span><span class="param">outIsWrite</span>);  
	    <span class="keyword">unsigned</span> <!-- a logicalPath="//test_ref/c/cl/long //test_ref/c/tdef/long //test_ref/c/tag/long //test_ref/c/struct/long //test_ref/c/intf/long //test_ref/doc/anysymbol/long" machineGenerated="true" --><span class="type">long</span><!-- /a --> <!-- a logicalPath="//test_ref/c/econst/lastField //test_ref/c/data/lastField //test_ref/c/clconst/lastField " machineGenerated="true" --><span class="var">lastField</span><!-- /a -->; 
	} <!-- a logicalPath="//test_ref/c/econst/TypedefdStructWithCallbacks //test_ref/c/data/TypedefdStructWithCallbacks //test_ref/c/clconst/TypedefdStructWithCallbacks " machineGenerated="true" --><span class="var">TypedefdStructWithCallbacks</span><!-- /a -->;  
END OF OBJECT



$66215|-=: TOP LEVEL COMMENT PARSE VALUES :=-
inHeader: 0
inClass: 0
inInterface: 0
inCPPHeader: 0
inOCCHeader: 0
inPerlScript: 0
inShellScript: 0
inPHPScript: 0
inJavaSource: 0
inFunctionGroup: 0
inGroup: 0
inFunction: 0
inPDefine: 0
inTypedef: 1
inUnion: 0
inStruct: 0
inConstant: 0
inVar: 0
inEnum: 0
inMethod: 0
inAvailabilityMacro: 0
inUnknown: 0
classType: unknown
inputCounter: 0
blockOffset: 0
fullpath: /test_suite_bogus_path/typedef_6.test
-=: BLOCKPARSE PARSER STATE KEYS :=-
$parserState->{FULLPATH} => /test_suite_bogus_path/typedef_6.test
$parserState->{NEXTTOKENNOCPP} => 0
$parserState->{availability} => 
$parserState->{backslashcount} => 0
$parserState->{basetype} => struct
$parserState->{bracePending} => 0
$parserState->{callbackIsTypedef} => 1
$parserState->{callbackName} => 
$parserState->{callbackNamePending} => -1
$parserState->{categoryClass} => 
$parserState->{classtype} => 
$parserState->{curvarstars} => **********
$parserState->{freezeStack} => ARRAY(OBJID)
$parserState->{freezereturn} => 1
$parserState->{frozensodname} => 
$parserState->{functionReturnsCallback} => 0
$parserState->{hollow} => HeaderDoc::ParseTree=HASH(OBJID)
$parserState->{inBrackets} => 0
$parserState->{inChar} => 0
$parserState->{inClass} => 0
$parserState->{inComment} => 0
$parserState->{inEnum} => 0
$parserState->{inInlineComment} => 0
$parserState->{inMacro} => 0
$parserState->{inMacroLine} => 0
$parserState->{inOperator} => 0
$parserState->{inPrivateParamTypes} => 0
$parserState->{inString} => 0
$parserState->{inTemplate} => 0
$parserState->{inTypedef} => 1
$parserState->{inUnion} => 0
$parserState->{initbsCount} => 0
$parserState->{inputCounter} => 15
$parserState->{kr_c_function} => 0
$parserState->{kr_c_name} => 
$parserState->{lang} => C
$parserState->{lastTreeNode} => HeaderDoc::ParseTree=HASH(OBJID)
$parserState->{lastsymbol} => TypedefdStructWithCallbacks;
$parserState->{leavingComment} => 0
$parserState->{macroNoTrunc} => 1
$parserState->{name} => _someTag
$parserState->{namePending} => 0
$parserState->{noInsert} => 0
$parserState->{occmethod} => 0
$parserState->{occmethodname} => 
$parserState->{occparmlabelfound} => 3
$parserState->{onlyComments} => 0
$parserState->{parsedParamAtBrace} => ARRAY(OBJID)
$parserState->{parsedParamList} => ARRAY(OBJID)
$parserState->{parsedParamParse} => 1
$parserState->{parsedParamStateAtBrace} => ARRAY(OBJID)
$parserState->{posstypes} =>  typedef struct
$parserState->{posstypesPending} => 0
$parserState->{pplStack} => ARRAY(OBJID)
$parserState->{preEqualsSymbol} => 
$parserState->{preTemplateSymbol} => 
$parserState->{returntype} =>  typedef struct _someTag {
     
$parserState->{seenBraces} => 0
$parserState->{seenMacroPart} => 0
$parserState->{seenTilde} => 0
$parserState->{simpleTDcontents} => 
$parserState->{simpleTypedef} => 0
$parserState->{sodclass} => 
$parserState->{sodname} => 
$parserState->{sodtype} => 
$parserState->{stackFrozen} => 0
$parserState->{startOfDec} => 1
$parserState->{sublang} => C
$parserState->{temponlyComments} => 0
$parserState->{treePopTwo} => 0
$parserState->{typestring} => typedef
$parserState->{value} => 
$parserState->{valuepending} => 0
-=: BLOCKPARSE RETURN VALUES :=-
newcount: 15
typelist: typedef struct
namelist: TypedefdStructWithCallbacks,_someTag
posstypes:  typedef struct
value: 
returntype:  typedef struct _someTag {     
pridec: 
simpleTDcontents: 
bpavail: 
blockOffset: 0
conformsToList: 
functionContents: 
extendsClass: 
implementsClass: 
-=: LIST OF PARSED PARAMETERS :=-
Parsed Param 0 => IUNKNOWN_C_GUTS
Parsed Param 1 => short firstField
Parsed Param 2 => IOReturn (*setPointers)(void *cmd,
                            IOVirtualRange *sgList)
Parsed Param 3 => void (*getPointers)(void *cmd,
                        IOVirtualRange **outSGList,
                        int *outSGEntries,
                        UInt32 *outTransferCount,
                        Boolean *outIsWrite)
Parsed Param 4 => unsigned long lastField
-=: DUMP OF PARSE TREE :=-
+---typedef
+--- 
+---struct
+--- 
+---_someTag
+--- 
+---{
|   +---[ NEWLINE ]
|   +---    
|   +---IUNKNOWN_C_GUTS
|   +---;
|   +---[ NEWLINE ]
|   +---    
|   +---short
|   +--- 
|   +---firstField
|   +---;
|   +---[ NEWLINE ]
|   +---[ NEWLINE ]
|   +---    
|   +---/*
|   |   +--- 
|   |   +---Set the data pointers 
|   |   +---*/
|   +---[ NEWLINE ]
|   +---    
|   +---IOReturn
|   +--- 
|   +---(
|   |   +---*
|   |   +---setPointers
|   |   +---)
|   +---(
|   |   +---void
|   |   +--- 
|   |   +---*
|   |   +---cmd
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                            
|   |   +---IOVirtualRange
|   |   +--- 
|   |   +---*
|   |   +---sgList
|   |   +---)
|   +---;
|   +---[ NEWLINE ]
|   +---    
|   +---void
|   +--- 
|   +---(
|   |   +---*
|   |   +---getPointers
|   |   +---)
|   +---(
|   |   +---void
|   |   +--- 
|   |   +---*
|   |   +---cmd
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---IOVirtualRange
|   |   +--- 
|   |   +---*
|   |   +---*
|   |   +---outSGList
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---int
|   |   +--- 
|   |   +---*
|   |   +---outSGEntries
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---UInt32
|   |   +--- 
|   |   +---*
|   |   +---outTransferCount
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---Boolean
|   |   +--- 
|   |   +---*
|   |   +---outIsWrite
|   |   +---)
|   +---;
|   +---[ NEWLINE ]
|   +---[ NEWLINE ]
|   +---    
|   +---unsigned
|   +--- 
|   +---long
|   +--- 
|   +---lastField
|   +---;
|   +---[ NEWLINE ]
|   +---}
+--- 
+---TypedefdStructWithCallbacks
+---;
+--- 
+---[ NEWLINE ]
-=: COMPUTED VALUE :=-
SUCCESS: 0
VALUE: 0
-=: CPP CHANGES :=-
NO CPP CHANGES
-=: FOUND MATCH :=-
1
-=: NAMED OBJECTS :=-
TREE COUNT: 0
INDEX GROUP: 
IS BLOCK: 
OBJECT TYPE: HeaderDoc::Header
NAME: typedef 6
APIUID: //test_ref/doc/header/typedef_6.test
ABSTRACT: ""
DISCUSSION: "<p></p>"
UPDATED: ""
COPYRIGHT: ""
HTMLMETA: ""
PRIVATEDECLARATION: ""
GROUP: ""
INDEXGROUP: ""
THROWS: ""
XMLTHROWS: ""
UPDATED: ""
LINKAGESTATE: ""
ACCESSCONTROL: ""
AVAILABILITY: ""
LINKUID: ""
ORIGCLASS: ""
ISDEFINE: ""
ISTEMPLATE: ""
VALUE: "UNKNOWN"
RETURNTYPE: ""
LINENUM: ""
CLASS: "HeaderDoc::Header"
MASTERENUM: ""
APIREFSETUPDONE: "1"
TPCDONE: ""
NOREGISTERUID: ""
SUPPRESSCHILDREN: ""
NAMELINE_DISCUSSION: ""
HIDEDOC: ""
HIDESINGLETONS: ""
HIDECONTENTS: ""
MAINOBJECT: ""
LIST ATTRIBUTES: 
SHORT ATTRIBUTES: 
LONG ATTRIBUTES: 
    TREE COUNT: 1
    INDEX GROUP: 
    IS BLOCK: 
    OBJECT TYPE: HeaderDoc::Typedef
    NAME: This is a TypedefdStructWithCallbacks
    APIUID: //test_ref/doc/title:tdef/ThisisaTypedefdStructWithCallbacks
    ABSTRACT: "<p>Abstract for this API.
"
    DISCUSSION: "<p>Defines the basic interface for Command DescriptorBlock (CDB) commands, which you use
to control SCSI Architectural Model (SAM) devices, including ATAPI, Firewire SBP2, and SCSI devices.
</p>
"
    UPDATED: ""
    COPYRIGHT: ""
    HTMLMETA: ""
    PRIVATEDECLARATION: ""
    GROUP: ""
    INDEXGROUP: ""
    THROWS: ""
    XMLTHROWS: ""
    UPDATED: ""
    LINKAGESTATE: ""
    ACCESSCONTROL: ""
    AVAILABILITY: ""
    LINKUID: ""
    ORIGCLASS: ""
    ISDEFINE: ""
    ISTEMPLATE: ""
    VALUE: "UNKNOWN"
    RETURNTYPE: ""
    LINENUM: ""
    CLASS: "HeaderDoc::Typedef"
    MASTERENUM: "1"
    APIREFSETUPDONE: "1"
    TPCDONE: ""
    NOREGISTERUID: ""
    SUPPRESSCHILDREN: "0"
    NAMELINE_DISCUSSION: "is a TypedefdStructWithCallbacks"
    HIDEDOC: ""
    HIDESINGLETONS: ""
    HIDECONTENTS: ""
    MAINOBJECT: ""
    LIST ATTRIBUTES: <p><b>See Also</b></p><div class='list_indent'><dl>
<dt><p><hd_link posstarget="//test_ref/c/tdef/TypedefdStructWithCallbacks">TypedefdStructWithCallbacks</hd_link></p></dt><dd></dd><dt><p><hd_link posstarget="//test_ref/c/tag/_someTag">_someTag</hd_link></p></dt><dd></dd></dl></div>

    SHORT ATTRIBUTES: 
    LONG ATTRIBUTES: 
    PARSED PARAMETERS:
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: IUNKNOWN_C_GUTS
        TYPE: 
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: firstField
        TYPE: short
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: setPointers
        TYPE: IOReturn
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: getPointers
        TYPE: void
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: lastField
        TYPE: unsigned long
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
    FIELDS:
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: setPointers
        TYPE: callback
        APIUID: //test_ref/doc/title:internal_temporary_object/ThisisaTypedefdStructWithCallbacks/setPointers
        ABSTRACT: ""
        DISCUSSION: "<p>Specifies the location of the data buffer for an I/O command,
as well as the maximum data transfer count and data transfer direction.
</p>
<p>The setPointers function has the following parameters:"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        USER DICTIONARY:
            cmd	=>	A pointer to the CDB command interface instance for the current command.
You must always pass this reference.
        END USER DICTIONARY
        USER DICTIONARY:
            sgList	=>	A pointer to a scatter/gather list (scatter for reading, gather for writing)
containing one or more records that specify the ranges of virtual memory in the command's
I/O buffer. Each element in a scatter/gather list describes the location and size of one buffer,
allowing you to group multiple buffers of any size into a single virtual buffer for an
I/O transaction. You can pass NULL for this parameter (for a command that doesn't require
a data buffer).
        END USER DICTIONARY
        USER DICTIONARY:
            Result	=>	An IOReturn structure which returns the return value in the structure returned.
        END USER DICTIONARY
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: getPointers
        TYPE: callback
        APIUID: //test_ref/doc/title:internal_temporary_object/ThisisaTypedefdStructWithCallbacks/getPointers
        ABSTRACT: ""
        DISCUSSION: "<p>Gets the location of the data buffer for an I/O command. The buffer
can be in one or more, possibly discontiguous, locations.
</p>
<p>The getPointers function has the following parameters:"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        USER DICTIONARY:
            cmd	=>	A pointer to the CDB command interface instance for the current command.
You must always pass this reference.
        END USER DICTIONARY
        USER DICTIONARY:
            outSGList	=>	A pointer to a pointer to a scatter/gather list (scatter for reading, gather for writing)
containing one or more records that specify the ranges of virtual memory in the command's
I/O buffer. Each element in a scatter/gather list describes the location and size of one buffer,
allowing you to group multiple buffers of any size into a single virtual buffer for an
I/O transaction. On return, the list specifies the I/O buffer for the command.
        END USER DICTIONARY
        USER DICTIONARY:
            outSGEntries	=>	On return, specifies the number of records in the scatter/gather list pointed to
by the outSGList parameter.
        END USER DICTIONARY
        USER DICTIONARY:
            outTransferCount	=>	On return, the maximum data transfer count in bytes for the
command.
        END USER DICTIONARY
        USER DICTIONARY:
            outIsWrite	=>	On return, specifies whether the command is a write command (true),
or a read command (false)
        END USER DICTIONARY
        USER DICTIONARY:
            lastField	=>	Description of the struct's last field.
        END USER DICTIONARY
    TAGGED PARAMETERS:
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: firstField
        TYPE: 
        APIUID: //test_ref/doc/title:internal_temporary_object/ThisisaTypedefdStructWithCallbacks/firstField
        ABSTRACT: ""
        DISCUSSION: "<p>Description of first field."
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
    TREE COUNT: 1
    INDEX GROUP: 
    IS BLOCK: 
    OBJECT TYPE: HeaderDoc::Typedef
    NAME: TypedefdStructWithCallbacks
    APIUID: //test_ref/c/tdef/TypedefdStructWithCallbacks
    ABSTRACT: "<p>Abstract for this API.
"
    DISCUSSION: "<p>Defines the basic interface for Command DescriptorBlock (CDB) commands, which you use
to control SCSI Architectural Model (SAM) devices, including ATAPI, Firewire SBP2, and SCSI devices.
</p>
"
    UPDATED: ""
    COPYRIGHT: ""
    HTMLMETA: ""
    PRIVATEDECLARATION: ""
    GROUP: ""
    INDEXGROUP: ""
    THROWS: ""
    XMLTHROWS: ""
    UPDATED: ""
    LINKAGESTATE: ""
    ACCESSCONTROL: ""
    AVAILABILITY: ""
    LINKUID: ""
    ORIGCLASS: ""
    ISDEFINE: ""
    ISTEMPLATE: ""
    VALUE: "UNKNOWN"
    RETURNTYPE: ""
    LINENUM: ""
    CLASS: "HeaderDoc::Typedef"
    MASTERENUM: ""
    APIREFSETUPDONE: "1"
    TPCDONE: ""
    NOREGISTERUID: ""
    SUPPRESSCHILDREN: "0"
    NAMELINE_DISCUSSION: ""
    HIDEDOC: ""
    HIDESINGLETONS: ""
    HIDECONTENTS: ""
    MAINOBJECT: ""
    LIST ATTRIBUTES: <p><b>See Also</b></p><div class='list_indent'><dl>
<dt><p><hd_link posstarget="//test_ref/doc/title:tdef/ThisisaTypedefdStructWithCallbacks">This is a TypedefdStructWithCallbacks</hd_link></p></dt><dd></dd><dt><p><hd_link posstarget="//test_ref/c/tag/_someTag">_someTag</hd_link></p></dt><dd></dd></dl></div>

    SHORT ATTRIBUTES: 
    LONG ATTRIBUTES: 
    PARSED PARAMETERS:
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: IUNKNOWN_C_GUTS
        TYPE: 
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: firstField
        TYPE: short
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: setPointers
        TYPE: IOReturn
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: getPointers
        TYPE: void
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: lastField
        TYPE: unsigned long
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
    FIELDS:
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: setPointers
        TYPE: callback
        APIUID: //test_ref/doc/typedeffield/TypedefdStructWithCallbacks/setPointers
        ABSTRACT: ""
        DISCUSSION: "<p>Specifies the location of the data buffer for an I/O command,
as well as the maximum data transfer count and data transfer direction.
</p>
<p>The setPointers function has the following parameters:"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: "0"
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        USER DICTIONARY:
            cmd	=>	A pointer to the CDB command interface instance for the current command.
You must always pass this reference.
        END USER DICTIONARY
        USER DICTIONARY:
            sgList	=>	A pointer to a scatter/gather list (scatter for reading, gather for writing)
containing one or more records that specify the ranges of virtual memory in the command's
I/O buffer. Each element in a scatter/gather list describes the location and size of one buffer,
allowing you to group multiple buffers of any size into a single virtual buffer for an
I/O transaction. You can pass NULL for this parameter (for a command that doesn't require
a data buffer).
        END USER DICTIONARY
        USER DICTIONARY:
            Result	=>	An IOReturn structure which returns the return value in the structure returned.
        END USER DICTIONARY
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: getPointers
        TYPE: callback
        APIUID: //test_ref/doc/typedeffield/TypedefdStructWithCallbacks/getPointers
        ABSTRACT: ""
        DISCUSSION: "<p>Gets the location of the data buffer for an I/O command. The buffer
can be in one or more, possibly discontiguous, locations.
</p>
<p>The getPointers function has the following parameters:"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: "0"
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        USER DICTIONARY:
            cmd	=>	A pointer to the CDB command interface instance for the current command.
You must always pass this reference.
        END USER DICTIONARY
        USER DICTIONARY:
            outSGList	=>	A pointer to a pointer to a scatter/gather list (scatter for reading, gather for writing)
containing one or more records that specify the ranges of virtual memory in the command's
I/O buffer. Each element in a scatter/gather list describes the location and size of one buffer,
allowing you to group multiple buffers of any size into a single virtual buffer for an
I/O transaction. On return, the list specifies the I/O buffer for the command.
        END USER DICTIONARY
        USER DICTIONARY:
            outSGEntries	=>	On return, specifies the number of records in the scatter/gather list pointed to
by the outSGList parameter.
        END USER DICTIONARY
        USER DICTIONARY:
            outTransferCount	=>	On return, the maximum data transfer count in bytes for the
command.
        END USER DICTIONARY
        USER DICTIONARY:
            outIsWrite	=>	On return, specifies whether the command is a write command (true),
or a read command (false)
        END USER DICTIONARY
        USER DICTIONARY:
            lastField	=>	Description of the struct's last field.
        END USER DICTIONARY
    TAGGED PARAMETERS:
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: firstField
        TYPE: 
        APIUID: //test_ref/doc/typedeffield/TypedefdStructWithCallbacks/firstField
        ABSTRACT: ""
        DISCUSSION: "<p>Description of first field."
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: "0"
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
    TREE COUNT: 1
    INDEX GROUP: 
    IS BLOCK: 
    OBJECT TYPE: HeaderDoc::Struct
    NAME: _someTag
    APIUID: //test_ref/c/tag/_someTag
    ABSTRACT: "<p>Abstract for this API.
"
    DISCUSSION: "<p>Defines the basic interface for Command DescriptorBlock (CDB) commands, which you use
to control SCSI Architectural Model (SAM) devices, including ATAPI, Firewire SBP2, and SCSI devices.
</p>
"
    UPDATED: ""
    COPYRIGHT: ""
    HTMLMETA: ""
    PRIVATEDECLARATION: ""
    GROUP: ""
    INDEXGROUP: ""
    THROWS: ""
    XMLTHROWS: ""
    UPDATED: ""
    LINKAGESTATE: ""
    ACCESSCONTROL: ""
    AVAILABILITY: ""
    LINKUID: ""
    ORIGCLASS: ""
    ISDEFINE: ""
    ISTEMPLATE: ""
    VALUE: "UNKNOWN"
    RETURNTYPE: ""
    LINENUM: ""
    CLASS: "HeaderDoc::Struct"
    MASTERENUM: ""
    APIREFSETUPDONE: "1"
    TPCDONE: ""
    NOREGISTERUID: ""
    SUPPRESSCHILDREN: "0"
    NAMELINE_DISCUSSION: ""
    HIDEDOC: ""
    HIDESINGLETONS: ""
    HIDECONTENTS: ""
    MAINOBJECT: ""
    LIST ATTRIBUTES: <p><b>See Also</b></p><div class='list_indent'><dl>
<dt><p><hd_link posstarget="//test_ref/doc/title:tdef/ThisisaTypedefdStructWithCallbacks">This is a TypedefdStructWithCallbacks</hd_link></p></dt><dd></dd><dt><p><hd_link posstarget="//test_ref/c/tdef/TypedefdStructWithCallbacks">TypedefdStructWithCallbacks</hd_link></p></dt><dd></dd></dl></div>

    SHORT ATTRIBUTES: 
    LONG ATTRIBUTES: 
    PARSED PARAMETERS:
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: IUNKNOWN_C_GUTS
        TYPE: 
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: firstField
        TYPE: short
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: setPointers
        TYPE: IOReturn
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: getPointers
        TYPE: void
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: lastField
        TYPE: unsigned long
        APIUID: 
        ABSTRACT: ""
        DISCUSSION: "<p></p>"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: ""
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
    FIELDS:
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: setPointers
        TYPE: callback
        APIUID: //test_ref/doc/structfield/_someTag/setPointers
        ABSTRACT: ""
        DISCUSSION: "<p>Specifies the location of the data buffer for an I/O command,
as well as the maximum data transfer count and data transfer direction.
</p>
<p>The setPointers function has the following parameters:"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: "0"
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        USER DICTIONARY:
            cmd	=>	A pointer to the CDB command interface instance for the current command.
You must always pass this reference.
        END USER DICTIONARY
        USER DICTIONARY:
            sgList	=>	A pointer to a scatter/gather list (scatter for reading, gather for writing)
containing one or more records that specify the ranges of virtual memory in the command's
I/O buffer. Each element in a scatter/gather list describes the location and size of one buffer,
allowing you to group multiple buffers of any size into a single virtual buffer for an
I/O transaction. You can pass NULL for this parameter (for a command that doesn't require
a data buffer).
        END USER DICTIONARY
        USER DICTIONARY:
            Result	=>	An IOReturn structure which returns the return value in the structure returned.
        END USER DICTIONARY
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: getPointers
        TYPE: callback
        APIUID: //test_ref/doc/structfield/_someTag/getPointers
        ABSTRACT: ""
        DISCUSSION: "<p>Gets the location of the data buffer for an I/O command. The buffer
can be in one or more, possibly discontiguous, locations.
</p>
<p>The getPointers function has the following parameters:"
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: "0"
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
        USER DICTIONARY:
            cmd	=>	A pointer to the CDB command interface instance for the current command.
You must always pass this reference.
        END USER DICTIONARY
        USER DICTIONARY:
            outSGList	=>	A pointer to a pointer to a scatter/gather list (scatter for reading, gather for writing)
containing one or more records that specify the ranges of virtual memory in the command's
I/O buffer. Each element in a scatter/gather list describes the location and size of one buffer,
allowing you to group multiple buffers of any size into a single virtual buffer for an
I/O transaction. On return, the list specifies the I/O buffer for the command.
        END USER DICTIONARY
        USER DICTIONARY:
            outSGEntries	=>	On return, specifies the number of records in the scatter/gather list pointed to
by the outSGList parameter.
        END USER DICTIONARY
        USER DICTIONARY:
            outTransferCount	=>	On return, the maximum data transfer count in bytes for the
command.
        END USER DICTIONARY
        USER DICTIONARY:
            outIsWrite	=>	On return, specifies whether the command is a write command (true),
or a read command (false)
        END USER DICTIONARY
        USER DICTIONARY:
            lastField	=>	Description of the struct's last field.
        END USER DICTIONARY
    TAGGED PARAMETERS:
        TREE COUNT: 0
        INDEX GROUP: 
        IS BLOCK: 
        OBJECT TYPE: HeaderDoc::MinorAPIElement
        NAME: firstField
        TYPE: 
        APIUID: //test_ref/doc/structfield/_someTag/firstField
        ABSTRACT: ""
        DISCUSSION: "<p>Description of first field."
        UPDATED: ""
        COPYRIGHT: ""
        HTMLMETA: ""
        PRIVATEDECLARATION: ""
        GROUP: ""
        INDEXGROUP: ""
        THROWS: ""
        XMLTHROWS: ""
        UPDATED: ""
        LINKAGESTATE: ""
        ACCESSCONTROL: ""
        AVAILABILITY: ""
        LINKUID: ""
        ORIGCLASS: ""
        ISDEFINE: ""
        ISTEMPLATE: ""
        VALUE: "UNKNOWN"
        RETURNTYPE: ""
        LINENUM: ""
        CLASS: "HeaderDoc::MinorAPIElement"
        MASTERENUM: "0"
        APIREFSETUPDONE: "1"
        TPCDONE: ""
        NOREGISTERUID: ""
        SUPPRESSCHILDREN: ""
        NAMELINE_DISCUSSION: ""
        HIDEDOC: ""
        HIDESINGLETONS: ""
        HIDECONTENTS: ""
        MAINOBJECT: ""
        LIST ATTRIBUTES: 
        SHORT ATTRIBUTES: 
        LONG ATTRIBUTES: 
-=: NAMED OBJECT PARSE TREES :=-
OBJECT: _someTag (HeaderDoc::Struct)
+---typedef
+--- 
+---struct
+--- 
+---_someTag
+--- 
+---{
|   +---[ NEWLINE ]
|   +---    
|   +---IUNKNOWN_C_GUTS
|   +---;
|   +---[ NEWLINE ]
|   +---    
|   +---short
|   +--- 
|   +---firstField
|   +---;
|   +---[ NEWLINE ]
|   +---[ NEWLINE ]
|   +---    
|   +---/*
|   |   +--- 
|   |   +---Set the data pointers 
|   |   +---*/
|   +---[ NEWLINE ]
|   +---    
|   +---IOReturn
|   +--- 
|   +---(
|   |   +---*
|   |   +---setPointers
|   |   +---)
|   +---(
|   |   +---void
|   |   +--- 
|   |   +---*
|   |   +---cmd
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                            
|   |   +---IOVirtualRange
|   |   +--- 
|   |   +---*
|   |   +---sgList
|   |   +---)
|   +---;
|   +---[ NEWLINE ]
|   +---    
|   +---void
|   +--- 
|   +---(
|   |   +---*
|   |   +---getPointers
|   |   +---)
|   +---(
|   |   +---void
|   |   +--- 
|   |   +---*
|   |   +---cmd
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---IOVirtualRange
|   |   +--- 
|   |   +---*
|   |   +---*
|   |   +---outSGList
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---int
|   |   +--- 
|   |   +---*
|   |   +---outSGEntries
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---UInt32
|   |   +--- 
|   |   +---*
|   |   +---outTransferCount
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---Boolean
|   |   +--- 
|   |   +---*
|   |   +---outIsWrite
|   |   +---)
|   +---;
|   +---[ NEWLINE ]
|   +---[ NEWLINE ]
|   +---    
|   +---unsigned
|   +--- 
|   +---long
|   +--- 
|   +---lastField
|   +---;
|   +---[ NEWLINE ]
|   +---}
+--- 
+---TypedefdStructWithCallbacks
+---;
+--- 
+---[ NEWLINE ]
END OF OBJECT


OBJECT: _someTag (HeaderDoc::Struct)
+---typedef
+--- 
+---struct
+--- 
+---_someTag
+--- 
+---{
|   +---[ NEWLINE ]
|   +---    
|   +---IUNKNOWN_C_GUTS
|   +---;
|   +---[ NEWLINE ]
|   +---    
|   +---short
|   +--- 
|   +---firstField
|   +---;
|   +---[ NEWLINE ]
|   +---[ NEWLINE ]
|   +---    
|   +---/*
|   |   +--- 
|   |   +---Set the data pointers 
|   |   +---*/
|   +---[ NEWLINE ]
|   +---    
|   +---IOReturn
|   +--- 
|   +---(
|   |   +---*
|   |   +---setPointers
|   |   +---)
|   +---(
|   |   +---void
|   |   +--- 
|   |   +---*
|   |   +---cmd
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                            
|   |   +---IOVirtualRange
|   |   +--- 
|   |   +---*
|   |   +---sgList
|   |   +---)
|   +---;
|   +---[ NEWLINE ]
|   +---    
|   +---void
|   +--- 
|   +---(
|   |   +---*
|   |   +---getPointers
|   |   +---)
|   +---(
|   |   +---void
|   |   +--- 
|   |   +---*
|   |   +---cmd
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---IOVirtualRange
|   |   +--- 
|   |   +---*
|   |   +---*
|   |   +---outSGList
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---int
|   |   +--- 
|   |   +---*
|   |   +---outSGEntries
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---UInt32
|   |   +--- 
|   |   +---*
|   |   +---outTransferCount
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---Boolean
|   |   +--- 
|   |   +---*
|   |   +---outIsWrite
|   |   +---)
|   +---;
|   +---[ NEWLINE ]
|   +---[ NEWLINE ]
|   +---    
|   +---unsigned
|   +--- 
|   +---long
|   +--- 
|   +---lastField
|   +---;
|   +---[ NEWLINE ]
|   +---}
+--- 
+---TypedefdStructWithCallbacks
+---;
+--- 
+---[ NEWLINE ]
END OF OBJECT


OBJECT: _someTag (HeaderDoc::Struct)
+---typedef
+--- 
+---struct
+--- 
+---_someTag
+--- 
+---{
|   +---[ NEWLINE ]
|   +---    
|   +---IUNKNOWN_C_GUTS
|   +---;
|   +---[ NEWLINE ]
|   +---    
|   +---short
|   +--- 
|   +---firstField
|   +---;
|   +---[ NEWLINE ]
|   +---[ NEWLINE ]
|   +---    
|   +---/*
|   |   +--- 
|   |   +---Set the data pointers 
|   |   +---*/
|   +---[ NEWLINE ]
|   +---    
|   +---IOReturn
|   +--- 
|   +---(
|   |   +---*
|   |   +---setPointers
|   |   +---)
|   +---(
|   |   +---void
|   |   +--- 
|   |   +---*
|   |   +---cmd
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                            
|   |   +---IOVirtualRange
|   |   +--- 
|   |   +---*
|   |   +---sgList
|   |   +---)
|   +---;
|   +---[ NEWLINE ]
|   +---    
|   +---void
|   +--- 
|   +---(
|   |   +---*
|   |   +---getPointers
|   |   +---)
|   +---(
|   |   +---void
|   |   +--- 
|   |   +---*
|   |   +---cmd
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---IOVirtualRange
|   |   +--- 
|   |   +---*
|   |   +---*
|   |   +---outSGList
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---int
|   |   +--- 
|   |   +---*
|   |   +---outSGEntries
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---UInt32
|   |   +--- 
|   |   +---*
|   |   +---outTransferCount
|   |   +---,
|   |   +---[ NEWLINE ]
|   |   +---                        
|   |   +---Boolean
|   |   +--- 
|   |   +---*
|   |   +---outIsWrite
|   |   +---)
|   +---;
|   +---[ NEWLINE ]
|   +---[ NEWLINE ]
|   +---    
|   +---unsigned
|   +--- 
|   +---long
|   +--- 
|   +---lastField
|   +---;
|   +---[ NEWLINE ]
|   +---}
+--- 
+---TypedefdStructWithCallbacks
+---;
+--- 
+---[ NEWLINE ]
END OF OBJECT



-=: HTML OUTPUT OF PARSE TREES :=-
OBJECT: _someTag (HeaderDoc::Struct)
	<span class="keyword">typedef</span> <span class="keyword">struct</span> <!-- a logicalPath="//test_ref/c/cl/_someTag //test_ref/c/tdef/_someTag //test_ref/c/tag/_someTag //test_ref/c/struct/_someTag //test_ref/c/intf/_someTag //test_ref/doc/anysymbol/_someTag" machineGenerated="true" --><span class="type">_someTag</span><!-- /a --> { 
	    <!-- a logicalPath="//test_ref/c/econst/IUNKNOWN_C_GUTS //test_ref/c/data/IUNKNOWN_C_GUTS //test_ref/c/clconst/IUNKNOWN_C_GUTS " machineGenerated="true" --><span class="var">IUNKNOWN_C_GUTS</span><!-- /a -->; 
	    <!-- a logicalPath="//test_ref/c/cl/short //test_ref/c/tdef/short //test_ref/c/tag/short //test_ref/c/struct/short //test_ref/c/intf/short //test_ref/doc/anysymbol/short" machineGenerated="true" --><span class="type">short</span><!-- /a --> <!-- a logicalPath="//test_ref/c/econst/firstField //test_ref/c/data/firstField //test_ref/c/clconst/firstField " machineGenerated="true" --><span class="var">firstField</span><!-- /a -->;  
	    <span class="comment">/* Set the data pointers */</span>
	    <!-- a logicalPath="//test_ref/c/cl/IOReturn //test_ref/c/tdef/IOReturn //test_ref/c/tag/IOReturn //test_ref/c/struct/IOReturn //test_ref/c/intf/IOReturn //test_ref/doc/anysymbol/IOReturn" machineGenerated="true" --><span class="type">IOReturn</span><!-- /a --> (<span class="type">*</span><!-- a logicalPath="//test_ref/c/instm/setPointers //test_ref/c/clm/setPointers //test_ref/c/intfcm/setPointers //test_ref/c/intfm/setPointers //test_ref/c/func/setPointers //test_ref/c/ftmplt/setPointers //test_ref/c/defn/setPointers //test_ref/c/macro/setPointers //test_ref/doc/anysymbol/setPointers" machineGenerated="true" --><span class="function">setPointers</span><!-- /a -->)(
	        <!-- a logicalPath="//test_ref/c/cl/void //test_ref/c/tdef/void //test_ref/c/tag/void //test_ref/c/struct/void //test_ref/c/intf/void //test_ref/doc/anysymbol/void" machineGenerated="true" --><span class="type">void</span><!-- /a --> <span class="type">*</span><span class="param">cmd</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/IOVirtualRange //test_ref/c/tdef/IOVirtualRange //test_ref/c/tag/IOVirtualRange //test_ref/c/struct/IOVirtualRange //test_ref/c/intf/IOVirtualRange //test_ref/doc/anysymbol/IOVirtualRange" machineGenerated="true" --><span class="type">IOVirtualRange</span><!-- /a --> <span class="type">*</span><span class="param">sgList</span>); 
	    <!-- a logicalPath="//test_ref/c/cl/void //test_ref/c/tdef/void //test_ref/c/tag/void //test_ref/c/struct/void //test_ref/c/intf/void //test_ref/doc/anysymbol/void" machineGenerated="true" --><span class="type">void</span><!-- /a --> (<span class="type">*</span><!-- a logicalPath="//test_ref/c/instm/getPointers //test_ref/c/clm/getPointers //test_ref/c/intfcm/getPointers //test_ref/c/intfm/getPointers //test_ref/c/func/getPointers //test_ref/c/ftmplt/getPointers //test_ref/c/defn/getPointers //test_ref/c/macro/getPointers //test_ref/doc/anysymbol/getPointers" machineGenerated="true" --><span class="function">getPointers</span><!-- /a -->)(
	        <!-- a logicalPath="//test_ref/c/cl/void //test_ref/c/tdef/void //test_ref/c/tag/void //test_ref/c/struct/void //test_ref/c/intf/void //test_ref/doc/anysymbol/void" machineGenerated="true" --><span class="type">void</span><!-- /a --> <span class="type">*</span><span class="param">cmd</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/IOVirtualRange //test_ref/c/tdef/IOVirtualRange //test_ref/c/tag/IOVirtualRange //test_ref/c/struct/IOVirtualRange //test_ref/c/intf/IOVirtualRange //test_ref/doc/anysymbol/IOVirtualRange" machineGenerated="true" --><span class="type">IOVirtualRange</span><!-- /a --> <span class="type">*</span><span class="type">*</span><span class="param">outSGList</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/int //test_ref/c/tdef/int //test_ref/c/tag/int //test_ref/c/struct/int //test_ref/c/intf/int //test_ref/doc/anysymbol/int" machineGenerated="true" --><span class="type">int</span><!-- /a --> <span class="type">*</span><span class="param">outSGEntries</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/UInt32 //test_ref/c/tdef/UInt32 //test_ref/c/tag/UInt32 //test_ref/c/struct/UInt32 //test_ref/c/intf/UInt32 //test_ref/doc/anysymbol/UInt32" machineGenerated="true" --><span class="type">UInt32</span><!-- /a --> <span class="type">*</span><span class="param">outTransferCount</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/Boolean //test_ref/c/tdef/Boolean //test_ref/c/tag/Boolean //test_ref/c/struct/Boolean //test_ref/c/intf/Boolean //test_ref/doc/anysymbol/Boolean" machineGenerated="true" --><span class="type">Boolean</span><!-- /a --> <span class="type">*</span><span class="param">outIsWrite</span>);  
	    <span class="keyword">unsigned</span> <!-- a logicalPath="//test_ref/c/cl/long //test_ref/c/tdef/long //test_ref/c/tag/long //test_ref/c/struct/long //test_ref/c/intf/long //test_ref/doc/anysymbol/long" machineGenerated="true" --><span class="type">long</span><!-- /a --> <!-- a logicalPath="//test_ref/c/econst/lastField //test_ref/c/data/lastField //test_ref/c/clconst/lastField " machineGenerated="true" --><span class="var">lastField</span><!-- /a -->; 
	} <!-- a logicalPath="//test_ref/c/econst/TypedefdStructWithCallbacks //test_ref/c/data/TypedefdStructWithCallbacks //test_ref/c/clconst/TypedefdStructWithCallbacks " machineGenerated="true" --><span class="var">TypedefdStructWithCallbacks</span><!-- /a -->;  
END OF OBJECT


OBJECT: _someTag (HeaderDoc::Struct)
	<span class="keyword">typedef</span> <span class="keyword">struct</span> <!-- a logicalPath="//test_ref/c/cl/_someTag //test_ref/c/tdef/_someTag //test_ref/c/tag/_someTag //test_ref/c/struct/_someTag //test_ref/c/intf/_someTag //test_ref/doc/anysymbol/_someTag" machineGenerated="true" --><span class="type">_someTag</span><!-- /a --> { 
	    <!-- a logicalPath="//test_ref/c/econst/IUNKNOWN_C_GUTS //test_ref/c/data/IUNKNOWN_C_GUTS //test_ref/c/clconst/IUNKNOWN_C_GUTS " machineGenerated="true" --><span class="var">IUNKNOWN_C_GUTS</span><!-- /a -->; 
	    <!-- a logicalPath="//test_ref/c/cl/short //test_ref/c/tdef/short //test_ref/c/tag/short //test_ref/c/struct/short //test_ref/c/intf/short //test_ref/doc/anysymbol/short" machineGenerated="true" --><span class="type">short</span><!-- /a --> <!-- a logicalPath="//test_ref/c/econst/firstField //test_ref/c/data/firstField //test_ref/c/clconst/firstField " machineGenerated="true" --><span class="var">firstField</span><!-- /a -->;  
	    <span class="comment">/* Set the data pointers */</span>
	    <!-- a logicalPath="//test_ref/c/cl/IOReturn //test_ref/c/tdef/IOReturn //test_ref/c/tag/IOReturn //test_ref/c/struct/IOReturn //test_ref/c/intf/IOReturn //test_ref/doc/anysymbol/IOReturn" machineGenerated="true" --><span class="type">IOReturn</span><!-- /a --> (<span class="type">*</span><!-- a logicalPath="//test_ref/c/instm/setPointers //test_ref/c/clm/setPointers //test_ref/c/intfcm/setPointers //test_ref/c/intfm/setPointers //test_ref/c/func/setPointers //test_ref/c/ftmplt/setPointers //test_ref/c/defn/setPointers //test_ref/c/macro/setPointers //test_ref/doc/anysymbol/setPointers" machineGenerated="true" --><span class="function">setPointers</span><!-- /a -->)(
	        <!-- a logicalPath="//test_ref/c/cl/void //test_ref/c/tdef/void //test_ref/c/tag/void //test_ref/c/struct/void //test_ref/c/intf/void //test_ref/doc/anysymbol/void" machineGenerated="true" --><span class="type">void</span><!-- /a --> <span class="type">*</span><span class="param">cmd</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/IOVirtualRange //test_ref/c/tdef/IOVirtualRange //test_ref/c/tag/IOVirtualRange //test_ref/c/struct/IOVirtualRange //test_ref/c/intf/IOVirtualRange //test_ref/doc/anysymbol/IOVirtualRange" machineGenerated="true" --><span class="type">IOVirtualRange</span><!-- /a --> <span class="type">*</span><span class="param">sgList</span>); 
	    <!-- a logicalPath="//test_ref/c/cl/void //test_ref/c/tdef/void //test_ref/c/tag/void //test_ref/c/struct/void //test_ref/c/intf/void //test_ref/doc/anysymbol/void" machineGenerated="true" --><span class="type">void</span><!-- /a --> (<span class="type">*</span><!-- a logicalPath="//test_ref/c/instm/getPointers //test_ref/c/clm/getPointers //test_ref/c/intfcm/getPointers //test_ref/c/intfm/getPointers //test_ref/c/func/getPointers //test_ref/c/ftmplt/getPointers //test_ref/c/defn/getPointers //test_ref/c/macro/getPointers //test_ref/doc/anysymbol/getPointers" machineGenerated="true" --><span class="function">getPointers</span><!-- /a -->)(
	        <!-- a logicalPath="//test_ref/c/cl/void //test_ref/c/tdef/void //test_ref/c/tag/void //test_ref/c/struct/void //test_ref/c/intf/void //test_ref/doc/anysymbol/void" machineGenerated="true" --><span class="type">void</span><!-- /a --> <span class="type">*</span><span class="param">cmd</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/IOVirtualRange //test_ref/c/tdef/IOVirtualRange //test_ref/c/tag/IOVirtualRange //test_ref/c/struct/IOVirtualRange //test_ref/c/intf/IOVirtualRange //test_ref/doc/anysymbol/IOVirtualRange" machineGenerated="true" --><span class="type">IOVirtualRange</span><!-- /a --> <span class="type">*</span><span class="type">*</span><span class="param">outSGList</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/int //test_ref/c/tdef/int //test_ref/c/tag/int //test_ref/c/struct/int //test_ref/c/intf/int //test_ref/doc/anysymbol/int" machineGenerated="true" --><span class="type">int</span><!-- /a --> <span class="type">*</span><span class="param">outSGEntries</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/UInt32 //test_ref/c/tdef/UInt32 //test_ref/c/tag/UInt32 //test_ref/c/struct/UInt32 //test_ref/c/intf/UInt32 //test_ref/doc/anysymbol/UInt32" machineGenerated="true" --><span class="type">UInt32</span><!-- /a --> <span class="type">*</span><span class="param">outTransferCount</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/Boolean //test_ref/c/tdef/Boolean //test_ref/c/tag/Boolean //test_ref/c/struct/Boolean //test_ref/c/intf/Boolean //test_ref/doc/anysymbol/Boolean" machineGenerated="true" --><span class="type">Boolean</span><!-- /a --> <span class="type">*</span><span class="param">outIsWrite</span>);  
	    <span class="keyword">unsigned</span> <!-- a logicalPath="//test_ref/c/cl/long //test_ref/c/tdef/long //test_ref/c/tag/long //test_ref/c/struct/long //test_ref/c/intf/long //test_ref/doc/anysymbol/long" machineGenerated="true" --><span class="type">long</span><!-- /a --> <!-- a logicalPath="//test_ref/c/econst/lastField //test_ref/c/data/lastField //test_ref/c/clconst/lastField " machineGenerated="true" --><span class="var">lastField</span><!-- /a -->; 
	} <!-- a logicalPath="//test_ref/c/econst/TypedefdStructWithCallbacks //test_ref/c/data/TypedefdStructWithCallbacks //test_ref/c/clconst/TypedefdStructWithCallbacks " machineGenerated="true" --><span class="var">TypedefdStructWithCallbacks</span><!-- /a -->;  
END OF OBJECT


OBJECT: _someTag (HeaderDoc::Struct)
	<span class="keyword">typedef</span> <span class="keyword">struct</span> <!-- a logicalPath="//test_ref/c/cl/_someTag //test_ref/c/tdef/_someTag //test_ref/c/tag/_someTag //test_ref/c/struct/_someTag //test_ref/c/intf/_someTag //test_ref/doc/anysymbol/_someTag" machineGenerated="true" --><span class="type">_someTag</span><!-- /a --> { 
	    <!-- a logicalPath="//test_ref/c/econst/IUNKNOWN_C_GUTS //test_ref/c/data/IUNKNOWN_C_GUTS //test_ref/c/clconst/IUNKNOWN_C_GUTS " machineGenerated="true" --><span class="var">IUNKNOWN_C_GUTS</span><!-- /a -->; 
	    <!-- a logicalPath="//test_ref/c/cl/short //test_ref/c/tdef/short //test_ref/c/tag/short //test_ref/c/struct/short //test_ref/c/intf/short //test_ref/doc/anysymbol/short" machineGenerated="true" --><span class="type">short</span><!-- /a --> <!-- a logicalPath="//test_ref/c/econst/firstField //test_ref/c/data/firstField //test_ref/c/clconst/firstField " machineGenerated="true" --><span class="var">firstField</span><!-- /a -->;  
	    <span class="comment">/* Set the data pointers */</span>
	    <!-- a logicalPath="//test_ref/c/cl/IOReturn //test_ref/c/tdef/IOReturn //test_ref/c/tag/IOReturn //test_ref/c/struct/IOReturn //test_ref/c/intf/IOReturn //test_ref/doc/anysymbol/IOReturn" machineGenerated="true" --><span class="type">IOReturn</span><!-- /a --> (<span class="type">*</span><!-- a logicalPath="//test_ref/c/instm/setPointers //test_ref/c/clm/setPointers //test_ref/c/intfcm/setPointers //test_ref/c/intfm/setPointers //test_ref/c/func/setPointers //test_ref/c/ftmplt/setPointers //test_ref/c/defn/setPointers //test_ref/c/macro/setPointers //test_ref/doc/anysymbol/setPointers" machineGenerated="true" --><span class="function">setPointers</span><!-- /a -->)(
	        <!-- a logicalPath="//test_ref/c/cl/void //test_ref/c/tdef/void //test_ref/c/tag/void //test_ref/c/struct/void //test_ref/c/intf/void //test_ref/doc/anysymbol/void" machineGenerated="true" --><span class="type">void</span><!-- /a --> <span class="type">*</span><span class="param">cmd</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/IOVirtualRange //test_ref/c/tdef/IOVirtualRange //test_ref/c/tag/IOVirtualRange //test_ref/c/struct/IOVirtualRange //test_ref/c/intf/IOVirtualRange //test_ref/doc/anysymbol/IOVirtualRange" machineGenerated="true" --><span class="type">IOVirtualRange</span><!-- /a --> <span class="type">*</span><span class="param">sgList</span>); 
	    <!-- a logicalPath="//test_ref/c/cl/void //test_ref/c/tdef/void //test_ref/c/tag/void //test_ref/c/struct/void //test_ref/c/intf/void //test_ref/doc/anysymbol/void" machineGenerated="true" --><span class="type">void</span><!-- /a --> (<span class="type">*</span><!-- a logicalPath="//test_ref/c/instm/getPointers //test_ref/c/clm/getPointers //test_ref/c/intfcm/getPointers //test_ref/c/intfm/getPointers //test_ref/c/func/getPointers //test_ref/c/ftmplt/getPointers //test_ref/c/defn/getPointers //test_ref/c/macro/getPointers //test_ref/doc/anysymbol/getPointers" machineGenerated="true" --><span class="function">getPointers</span><!-- /a -->)(
	        <!-- a logicalPath="//test_ref/c/cl/void //test_ref/c/tdef/void //test_ref/c/tag/void //test_ref/c/struct/void //test_ref/c/intf/void //test_ref/doc/anysymbol/void" machineGenerated="true" --><span class="type">void</span><!-- /a --> <span class="type">*</span><span class="param">cmd</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/IOVirtualRange //test_ref/c/tdef/IOVirtualRange //test_ref/c/tag/IOVirtualRange //test_ref/c/struct/IOVirtualRange //test_ref/c/intf/IOVirtualRange //test_ref/doc/anysymbol/IOVirtualRange" machineGenerated="true" --><span class="type">IOVirtualRange</span><!-- /a --> <span class="type">*</span><span class="type">*</span><span class="param">outSGList</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/int //test_ref/c/tdef/int //test_ref/c/tag/int //test_ref/c/struct/int //test_ref/c/intf/int //test_ref/doc/anysymbol/int" machineGenerated="true" --><span class="type">int</span><!-- /a --> <span class="type">*</span><span class="param">outSGEntries</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/UInt32 //test_ref/c/tdef/UInt32 //test_ref/c/tag/UInt32 //test_ref/c/struct/UInt32 //test_ref/c/intf/UInt32 //test_ref/doc/anysymbol/UInt32" machineGenerated="true" --><span class="type">UInt32</span><!-- /a --> <span class="type">*</span><span class="param">outTransferCount</span>, 
	        <!-- a logicalPath="//test_ref/c/cl/Boolean //test_ref/c/tdef/Boolean //test_ref/c/tag/Boolean //test_ref/c/struct/Boolean //test_ref/c/intf/Boolean //test_ref/doc/anysymbol/Boolean" machineGenerated="true" --><span class="type">Boolean</span><!-- /a --> <span class="type">*</span><span class="param">outIsWrite</span>);  
	    <span class="keyword">unsigned</span> <!-- a logicalPath="//test_ref/c/cl/long //test_ref/c/tdef/long //test_ref/c/tag/long //test_ref/c/struct/long //test_ref/c/intf/long //test_ref/doc/anysymbol/long" machineGenerated="true" --><span class="type">long</span><!-- /a --> <!-- a logicalPath="//test_ref/c/econst/lastField //test_ref/c/data/lastField //test_ref/c/clconst/lastField " machineGenerated="true" --><span class="var">lastField</span><!-- /a -->; 
	} <!-- a logicalPath="//test_ref/c/econst/TypedefdStructWithCallbacks //test_ref/c/data/TypedefdStructWithCallbacks //test_ref/c/clconst/TypedefdStructWithCallbacks " machineGenerated="true" --><span class="var">TypedefdStructWithCallbacks</span><!-- /a -->;  
END OF OBJECT



_$91|/Users/dg/headerdoc-techpubs/Modules/HeaderDoc//../../testsuite/parser_tests/typedef_6.test$1|C$9|typedef 6$1|C$6|parser