OCEAuthDir.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:242k
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- RecordIDPtr aRecord; /* --> */
- RStringPtr startingName; /* --> */
- RStringPtr startingType; /* --> */
- long dReserved; /* -- */
- long eReserved; /* -- */
- long fReserved; /* -- */
- long gReserved; /* -- */
- long hReserved; /* -- */
- Boolean includeStartingPoint; /* --> if true return the Pseudonym specified by starting point will be included */
- Byte padByte;
- short i1Reserved; /* -- */
- void * getBuffer; /* --> */
- unsigned long getBufferSize; /* --> */
- };
- typedef struct DirEnumeratePseudonymGetPB DirEnumeratePseudonymGetPB;
- /* The call-back function is defined as follows: */
- typedef CALLBACK_API( Boolean , ForEachRecordIDProcPtr )(long clientData, const RecordID *recordID);
- typedef STACK_UPP_TYPE(ForEachRecordIDProcPtr) ForEachRecordIDUPP;
- typedef ForEachRecordIDUPP ForEachRecordID;
- /*
- EnumeratePseudonymParse:
- The pseudonyms returned in the 'getBuffer' from the EnumeratePseudonymGet call
- can be extracted by using the EnumeratePseudonymParse call. 'eachRecordID'
- will be called for each pseudonym.
- Returning true from any call-back will terminate the EnumeratePseudonymParse call.
- For synchronous calls, the call-back routine actually runs as part of the same thread
- of execution as the thread that made the EnumeratePseudonymParse call. That means that the
- same low-memory globals, A5, stack, etc. are in effect during the call-back
- that were in effect when the call was made. Because of this, the call-back
- routine has the same restrictions as the caller of EnumeratePseudonymParse:
- if EnumeratePseudonymParse was not called from interrupt level, then the call-
- back routine can allocate memory. For asynchronous calls, call-back routine is
- like a ioCompletion except that A5 will be preserved for the application.
- */
- struct DirEnumeratePseudonymParsePB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- RecordIDPtr aRecord; /* --> same as DirEnumerateAliasesGetPB */
- long bReserved; /* -- */
- long cReserved; /* -- */
- ForEachRecordID eachRecordID; /* --> */
- long eReserved; /* -- */
- long fReserved; /* -- */
- long gReserved; /* -- */
- long hReserved; /* -- */
- long iReserved; /* -- */
- void * getBuffer; /* --> */
- unsigned long getBufferSize; /* --> */
- };
- typedef struct DirEnumeratePseudonymParsePB DirEnumeratePseudonymParsePB;
- /* GetNameAndType */
- struct DirGetNameAndTypePB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- RecordIDPtr aRecord; /* --> */
- };
- typedef struct DirGetNameAndTypePB DirGetNameAndTypePB;
- /*
- aRecord must contain valid RLI and a CreationID. It
- must also contain pointers to maximum-length RStrings (name and type fields)
- in which will be returned the record's distinguished name and type.
- */
- /*
- SetNameAndType:
- This call can be used to change a name and type for a record. The record
- to be renamed is specified using 'aRecord'.
- 'newName' and 'newType' indicate the name and type to be set.
- 'allowDuplicate' if true indicates that name is to be set even if another
- name and type exactly matches the newName and newType specified.
- 'newName' and 'newType' are required since the catalogs not supporting
- CreationID require name and type fields in the recordID to identify a given
- record.
- */
- struct DirSetNameAndTypePB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- RecordIDPtr aRecord; /* --> */
- Boolean allowDuplicate; /* --> */
- Byte padByte;
- RStringPtr newName; /* --> new name for the record */
- RStringPtr newType; /* --> new type for the record */
- };
- typedef struct DirSetNameAndTypePB DirSetNameAndTypePB;
- /*
- DirGetMetaRecordInfo: This call can be made to obtain
- the MetaRecordInfo for a given record. Information returned
- is 16 bytes of OPAQUE information about the record.
- */
- struct DirGetRecordMetaInfoPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- RecordIDPtr aRecord; /* --> */
- DirMetaInfo metaInfo; /* <-- */
- };
- typedef struct DirGetRecordMetaInfoPB DirGetRecordMetaInfoPB;
- /*
- DirGetDNodeMetaInfo: This call can be made to obtain
- the DNodeMetaInfo for a given Packed RLI. Information returned
- is 16 bytes of OPAQUE information about the DNode.
- */
- struct DirGetDNodeMetaInfoPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- PackedRLIPtr pRLI; /* --> */
- DirMetaInfo metaInfo; /* <-- */
- };
- typedef struct DirGetDNodeMetaInfoPB DirGetDNodeMetaInfoPB;
- /*
- EnumerateDirectoriesGet:
- A user can enumerate all the catalogs installed. This includes installed
- ADAP and CSAM catalogs. The user can specify a signature as input to restrict
- the results. kDirADAPKind will return only ADAP catalogs, kDirDSAMKind
- will return all CSAM catalogs. kDirAllKinds will get both ADAP & CSAM catalogs.
- A specific signature (e.g. X.500) may be used to get catalogs with an X.500 signature.
- The information for each catalog returned will have directoryName, discriminator and features.
- If the user receives 'noErr' or 'kOCEMoreData', the buffer will contain valid results. A user
- can extract the results in the 'getBuffer' by making an DirEnumerateDirectories call.
- If 'kOCEMoreData' is received, the user can continue enumeration by using the last catalog and
- discriminator as startingDirectoryName and staringDirDiscriminator in the next call.
- If 'includeStartingPoint' is true and a starting point is specified,
- the staring point will be returned in the result. If false, it is not included.
- */
- struct DirEnumerateDirectoriesGetPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- OCEDirectoryKind directoryKind; /* --> enumerate catalogs bearing this signature */
- DirectoryNamePtr startingDirectoryName; /* --> staring catalog name */
- DirDiscriminator startingDirDiscriminator; /* --> staring catalog discriminator */
- long eReserved; /* -- */
- long fReserved; /* -- */
- long gReserved; /* -- */
- long hReserved; /* -- */
- Boolean includeStartingPoint; /* --> if true return the catalog specified by starting point */
- Byte padByte;
- short i1Reserved; /* -- */
- void * getBuffer; /* --> */
- unsigned long getBufferSize; /* --> */
- };
- typedef struct DirEnumerateDirectoriesGetPB DirEnumerateDirectoriesGetPB;
- typedef CALLBACK_API( Boolean , ForEachDirectoryProcPtr )(long clientData, const DirectoryName *dirName, const DirDiscriminator *discriminator, DirGestalt features);
- typedef STACK_UPP_TYPE(ForEachDirectoryProcPtr) ForEachDirectoryUPP;
- typedef ForEachDirectoryUPP ForEachDirectory;
- /*
- EnumerateDirectoriesParse:
- The catalog info returned in 'getBuffer' from the EnumerateDirectoriesGet call
- can be extracted using the EnumerateDirectoriesParse call. 'eachDirectory' will
- be called for each catalog.
- Returning true from any call-back will terminate the EnumerateDirectoriesParse call.
- For synchronous calls, the call-back routine actually runs as part of the same thread
- of execution as the thread that made the EnumerateDirectoriesParse call. That means that the
- same low-memory globals, A5, stack, etc. are in effect during the call-back
- that were in effect when the call was made. Because of this, the call-back
- routine has the same restrictions as the caller of EnumerateDirectoriesParse:
- if EnumerateDirectoriesParse was not called from interrupt level, then the call-
- back routine can allocate memory. For asynchronous calls, call-back routine is
- like a ioCompletion except that A5 will be preserved for the application.
- eachDirectory will be called each time to return to the client a
- DirectoryName, DirDiscriminator, and features for that catalog.
- */
- struct DirEnumerateDirectoriesParsePB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- long aReserved; /* -- */
- long bReserved; /* -- */
- long cReserved; /* -- */
- long dReserved; /* -- */
- ForEachDirectory eachDirectory; /* --> */
- long fReserved; /* -- */
- long gReserved; /* -- */
- long hReserved; /* -- */
- long iReserved; /* -- */
- void * getBuffer; /* --> */
- unsigned long getBufferSize; /* --> */
- };
- typedef struct DirEnumerateDirectoriesParsePB DirEnumerateDirectoriesParsePB;
- /*
- The Following five call are specific to ADAP Catalogs. Toolbox
- remembers a list of catalogs across boots. If any catalog service
- call is intended for a ADAP catalog, then it must be in the list.
- In order for managing this list, A client (Probably DE will use these
- calls.
- DirAddADAPDirectoryPB: Add a new ADAP catalog to the list.
- DirRemoveADAPDirectory: Remove a ADAP catalog from the list.
- DirNetSearchADAPDirectoriesGet: search an internet for adas catalogs.
- DirNetSearchADAPDirectoriesParse: extract the results obtained NetSearchADAPDirectoriesGet.
- DirFindADAPDirectoryByNetSearch: Find a specified catalog through net search.
- */
- /*
- NetSearchADAPDirectoriesGet:
- This call can be used to make a network wide search for finding ADAP catalogs.
- This call will be supported only by 'ADAP' and involve highly expensive
- network operations, so the user is advised to use utmost discretion before
- making this call. The results will be collected in the 'getbuffer' and can be
- extracted using NetSearchADAPDirectoriesParse call. The directoryName,
- the directoryDiscriminator, features and serverHint (AppleTalk address for
- a PathFinder serving that catalog) are collected for each catalog found
- on the network. If buffer is too small to hold all the catalogs found on
- the network, a 'kOCEMoreData' error will be returned.
- */
- struct DirNetSearchADAPDirectoriesGetPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- void * getBuffer; /* --> */
- unsigned long getBufferSize; /* --> */
- long cReserved; /* -- */
- };
- typedef struct DirNetSearchADAPDirectoriesGetPB DirNetSearchADAPDirectoriesGetPB;
- typedef CALLBACK_API( Boolean , ForEachADAPDirectoryProcPtr )(long clientData, const DirectoryName *dirName, const DirDiscriminator *discriminator, DirGestalt features, AddrBlock serverHint);
- typedef STACK_UPP_TYPE(ForEachADAPDirectoryProcPtr) ForEachADAPDirectoryUPP;
- typedef ForEachADAPDirectoryUPP ForEachADAPDirectory;
- /*
- DirNetSearchADAPDirectoriesParse:
- This call can be used to extract the results obtained in the 'getBuffer'.
- The directoryName, directoryDiscriminator, features and
- serverHint (AppleTalk address for a PathFinder serving that catalog) are
- returned in each call-back. These values may be used to make an
- AddADAPDirectory call.
- Returning TRUE from any call-back will terminate the NetSearchADAPDirectoriesParse request.
- For synchronous calls, the call-back routine actually runs as part of the same thread
- of execution as the thread that made the DirNetSearchADAPDirectoriesParse call. That means that the
- same low-memory globals, A5, stack, etc. are in effect during the call-back
- that were in effect when the call was made. Because of this, the call-back
- routine has the same restrictions as the caller of DirNetSearchADAPDirectoriesParse:
- if DirNetSearchADAPDirectoriesParse was not called from interrupt level, then the call-
- back routine can allocate memory. For asynchronous calls, call-back routine is
- like a ioCompletion except that A5 will be preserved for the application.
- */
- struct DirNetSearchADAPDirectoriesParsePB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- void * getBuffer; /* --> */
- unsigned long getBufferSize; /* --> */
- ForEachADAPDirectory eachADAPDirectory; /* --> */
- };
- typedef struct DirNetSearchADAPDirectoriesParsePB DirNetSearchADAPDirectoriesParsePB;
- /*
- DirFindADAPDirectoryByNetSearch:
- This call can be used to make a network wide search to find an ADAP catalog.
- This call will be supported only by 'ADAP' and involves highly expensive
- network operations, so the user is advised to use utmost discretion before
- making this call. The catalog is specified using directoryName and discriminator.
- If 'addToOCESetup' is true, the catalog will be automatically added to the setup
- list and will be visible through the EnumerateDirectories call and also
- also a creationID to the directoryRecord will be returned.
- If this parameter is set to 'false', the catalog will be added to temporary list
- and will be available for making other catalog service calls. The catalogs
- which are not in the preference catalog list will not be visible through the
- EnumerateDirectories call.
- */
- struct DirFindADAPDirectoryByNetSearchPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- DirectoryNamePtr directoryName; /* --> catalog name */
- DirDiscriminator discriminator; /* --> discriminate between dup catalog names */
- Boolean addToOCESetup; /* --> add this catalog to OCE Setup List */
- Byte padByte;
- CreationID directoryRecordCID; /* <-- creationID for the catalog record */
- };
- typedef struct DirFindADAPDirectoryByNetSearchPB DirFindADAPDirectoryByNetSearchPB;
- /*
- DirAddADAPDirectory:
- The catalog specified by 'directoryName' and 'discriminator' will be
- added to the list of catalogs maintained by the Toolbox. Once added,
- the catalog is available across boots, until the catalog is removed
- explicitly through a DirRemoveADAPDirectory call.
- If 'serverHint' is not nil, the address provided will be used
- to contact a PathFinder for the catalog specified.
- If 'serverHint' is nil or does not point to a valid PathFinder server
- for that catalog, this call will fail.
- If 'addToOCESetup' is true, the catalog will be automatically added to the setup
- catalog list and will be visible through EnumerateDirectories calls and
- also a creationID to the directoryRecord will be returned.
- If this parameter is set to 'false', catalog will be added to temprary list
- and will be available for making other catalog service calls. The catalogs
- which are not in the setup list will not be visible through
- EnumerateDirectories call.
- */
- struct DirAddADAPDirectoryPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- DirectoryNamePtr directoryName; /* --> catalog name */
- DirDiscriminator discriminator; /* --> discriminate between dup catalog names */
- Boolean addToOCESetup; /* --> add this catalog to OCE Setup */
- Byte padByte;
- CreationID directoryRecordCID; /* <-- creationID for the catalog record */
- };
- typedef struct DirAddADAPDirectoryPB DirAddADAPDirectoryPB;
- /*
- GetDirectoryInfo:
- DirGetDirectoryInfo will do:
- If a 'dsRefNum' is non-Zero, the catalog information for
- the corresponding PAB will be returned.
- If 'dsRefNum' is zero and 'serverHint' is non-zero, If the
- 'serverHint' points to a valid ADAP Catalog Server(Path Finder),
- the catalog information (i.e. directoryName, discriminator, features)
- for that catalog will be returned.
- If a valid catalog name and discriminator are provided
- features (Set of capability flags) for that catalog will be returned.
- */
- struct DirGetDirectoryInfoPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- DirectoryNamePtr directoryName; /* --> catalog name */
- DirDiscriminator discriminator; /* <--> descriminate between dup catalog names */
- DirGestalt features; /* <-- capability bit flags */
- };
- typedef struct DirGetDirectoryInfoPB DirGetDirectoryInfoPB;
- /*
- * Note on Access Controls:
- * Access control is based on a list model.
- * You can get access controls list which gives dsObject and accMask for each dsObject.
- * GetAccessControl can be limited to currently supplied identity by setting forCurrentUserOnly.
- * There are special DSObjects are defined in ADASTypes.h for each of the category
- * supported in ADAS Catalogs. (kOwner, kFriends, kAuthenticatedToCluster,
- * kAuthenticatedToDirectory, kGuest) and DUGetActlDSSpec call can be used
- * to obtain appropraiate DSSpec before making set calls to ADAS catalogs.
- *
- */
- /*
- GetDNodeAccessControlGet:
- This call can be done to get back access control list for a DNode.
- pRLI -> RLI of the DNode whose access control list is sought
- curUserAccMask -> If this is 'true', Access controls for the user specified by
- the identity parameter will be returned other wise entire list
- will be returned.
- startingDsObj -> If this is not nil, list should be started after this object.
- startingPointInclusive -> If staringDsObj is specified, include that in the returned
- results.
-
- The results will be collected in the 'getBuffer' supplied by the user.
- If buffer can not hold all the data returned 'daMoreData' error will be returned.
-
- If user receives 'noErr' or 'daMoreData', buffer will contain valid results. A user
- can extract the results in the 'getBuffer' by making 'DsGetDNodeAccessControlParse' call.
-
- Results returned for each DSObject will contain DSSpecPtr and three sets of access mask.
- */
- struct DirGetDNodeAccessControlGetPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- PackedRLIPtr pRLI; /* -> RLI of the cluster whose access control list is sought */
- long bReserved; /* -- unused */
- long cReserved; /* -- unused */
- long dReserved; /* -- unused */
- long eResreved; /* --> */
- Boolean forCurrentUserOnly; /* --> */
- Boolean filler1;
- DSSpec * startingPoint; /* --> starting Point */
- Boolean includeStartingPoint; /* --> if true return the DsObject specified in starting point */
- Boolean filler2;
- void * getBuffer; /* -> */
- unsigned long getBufferSize; /* -> */
- };
- typedef struct DirGetDNodeAccessControlGetPB DirGetDNodeAccessControlGetPB;
- /* The Access Control call-back function is defined as follows: */
- typedef CALLBACK_API( Boolean , ForEachDNodeAccessControlProcPtr )(long clientData, const DSSpec *dsObj, AccessMask activeDnodeAccMask, AccessMask defaultRecordAccMask, AccessMask defaultAttributeAccMask);
- typedef STACK_UPP_TYPE(ForEachDNodeAccessControlProcPtr) ForEachDNodeAccessControlUPP;
- typedef ForEachDNodeAccessControlUPP ForEachDNodeAccessControl;
- /*
- GetDNodeAccessControlParse:
- After an GetDNodeAccessControlGet call has completed,
- call GetDNodeAccessControlParse to parse through the buffer that
- that was filled in GetDNodeAccessControlGet.
-
- 'eachObject' will be called each time to return to the client a
- DsObject and a set of three accMasks (three long words) for that object.
- Acceesmasks returned apply to the dsObject in the callback :
- 1. Currently Active Access mask for the specified DNode.
- 2. Default Access mask for any Record in the DNode
- 3. Default Access mask for any Attribute in the DNode
- The clientData parameter that you pass in the parameter block will be passed
- to 'eachObject'. You are free to put anything in clientData - it is intended
- to allow you some way to match the call-back to the original call (for
- example, you make more then one aysynchronous GetDNodeAccessControlGet calls and you want to
- associate returned results in some way).
-
- The client should return FALSE from 'eachObject' to continue
- processing of the GetDNodeAccessControlParse request. Returning TRUE will
- terminate the GetDNodeAccessControlParse request.
- For synchronous calls, the call-back routine actually runs as part of the same thread
- of execution as the thread that made the GetDNodeAccessControlParse call. That means that the
- same low-memory globals, A5, stack, etc. are in effect during the call-back
- that were in effect when the call was made. Because of this, the call-back
- routine has the same restrictions as the caller of GetDNodeAccessControlParse:
- if GetDNodeAccessControlParse was not called from interrupt level, then the call-
- back routine can allocate memory. For asynchronous calls, call-back routine is
- like a ioCompletion except that A5 will be preserved for the application.
- */
- struct DirGetDNodeAccessControlParsePB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- PackedRLIPtr pRLI; /* -> RLI of the cluster */
- long bReserved; /* -- unused */
- long cReserved; /* -- unused */
- long dReserved; /* -- unused */
- ForEachDNodeAccessControl eachObject; /* --> */
- Boolean forCurrentUserOnly; /* --> */
- Boolean filler1;
- DSSpec * startingPoint; /* --> starting Point */
- Boolean includeStartingPoint; /* --> if true return the record specified in starting point */
- Boolean filler2;
- void * getBuffer; /* -> */
- unsigned long getBufferSize; /* -> */
- };
- typedef struct DirGetDNodeAccessControlParsePB DirGetDNodeAccessControlParsePB;
- /*
- GetRecordAccessControlGet:
- This call can be done to get back access control list for a RecordID.
- aRecord -> RecordID to which access control list is sought
- curUserAccMask -> If this is 'true', Access controls for the user specified by
- the identity parameter will be returned other wise entire list
- will be returned.
- startingDsObj -> If this is not nil, list should be started after this object.
- startingPointInclusive -> If staringDsObj is specified, include that in the returned
- results.
-
- The results will be collected in the 'getBuffer' supplied by the user.
- If buffer can not hold all the data returned 'daMoreData' error will be returned.
-
- If user receives 'noErr' or 'daMoreData', buffer will contain valid results. A user
- can extract the results in the 'getBuffer' by making 'DsGetDNodeAccessControlParse' call.
-
- Results returned for each DSObject will contain DSSpecPtr and accMask.
- */
- struct DirGetRecordAccessControlGetPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- RecordIDPtr aRecord; /* -> RecordID to which access control list is sought list is sought */
- long bReserved; /* -- unused */
- long cReserved; /* -- unused */
- long dReserved; /* -- unused */
- long eResreved; /* --> */
- Boolean forCurrentUserOnly; /* --> */
- Boolean filler1;
- DSSpec * startingPoint; /* --> starting Point */
- Boolean includeStartingPoint; /* --> if true return the record specified in starting point */
- Boolean filler2;
- void * getBuffer; /* -> */
- unsigned long getBufferSize; /* -> */
- };
- typedef struct DirGetRecordAccessControlGetPB DirGetRecordAccessControlGetPB;
- /* The Access Control call-back function is defined as follows: */
- typedef CALLBACK_API( Boolean , ForEachRecordAccessControlProcPtr )(long clientData, const DSSpec *dsObj, AccessMask activeDnodeAccMask, AccessMask activeRecordAccMask, AccessMask defaultAttributeAccMask);
- typedef STACK_UPP_TYPE(ForEachRecordAccessControlProcPtr) ForEachRecordAccessControlUPP;
- typedef ForEachRecordAccessControlUPP ForEachRecordAccessControl;
- /*
- GetRecordAccessControlParse:
- After an GetRecordAccessControlGet call has completed,
- call GetRecordAccessControlParse to parse through the buffer that
- that was filled in GetRecordAccessControlGet.
-
- 'eachObject' will be called each time to return to the client a
- DsObject and a set of three accMasks (three long words) for that object.
- Acceesmasks returned apply to the dsObject in the callback :
- 1. Active Access mask for the DNode Containing the Record.
- 2. Active Access mask for the Record specified.
- 3. Defualt Access mask for Attributes in the record.
- The clientData parameter that you pass in the parameter block will be passed
- to 'eachObject'. You are free to put anything in clientData - it is intended
- to allow you some way to match the call-back to the original call (for
- example, you make more then one aysynchronous GetRecordAccessControlGet calls and you want to
- associate returned results in some way).
-
- The client should return FALSE from 'eachObject' to continue
- processing of the GetRecordAccessControlParse request. Returning TRUE will
- terminate the GetRecordAccessControlParse request.
- For synchronous calls, the call-back routine actually runs as part of the same thread
- of execution as the thread that made the GetRecordAccessControlParse call. That means that the
- same low-memory globals, A5, stack, etc. are in effect during the call-back
- that were in effect when the call was made. Because of this, the call-back
- routine has the same restrictions as the caller of GetRecordAccessControlParse:
- if GetRecordAccessControlParse was not called from interrupt level, then the call-
- back routine can allocate memory. For asynchronous calls, call-back routine is
- like a ioCompletion except that A5 will be preserved for the application.
- */
- struct DirGetRecordAccessControlParsePB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- RecordIDPtr aRecord; /* -> RecordID to which access control list is sought list is sought */
- long bReserved; /* -- unused */
- long cReserved; /* -- unused */
- long dReserved; /* -- unused */
- ForEachRecordAccessControl eachObject; /* --> */
- Boolean forCurrentUserOnly; /* --> */
- Boolean filler1;
- DSSpec * startingPoint; /* --> starting Point */
- Boolean includeStartingPoint; /* --> if true return the record specified in starting point */
- Boolean filler2;
- void * getBuffer; /* -> */
- unsigned long getBufferSize; /* -> */
- };
- typedef struct DirGetRecordAccessControlParsePB DirGetRecordAccessControlParsePB;
- /*
- GetAttributeAccessControlGet:
- This call can be done to get back access control list for a attributeType with in a RecordID.
- aRecord -> RecordID to which access control list is sought
- aType -> Attribute Type to which access controls are sought
- curUserAccMask -> If this is 'true', Access controls for the user specified by
- the identity parameter will be returned other wise entire list
- will be returned.
- startingDsObj -> If this is not nil, list should be started after this object.
- startingPointInclusive -> If staringDsObj is specified, include that in the returned
- results.
-
- The results will be collected in the 'getBuffer' supplied by the user.
- If buffer can not hold all the data returned 'daMoreData' error will be returned.
-
- If user receives 'noErr' or 'daMoreData', buffer will contain valid results. A user
- can extract the results in the 'getBuffer' by making 'DsGetDNodeAccessControlParse' call.
-
- Results returned for each DSObject will contain DSSpecPtr and accMask.
- */
- struct DirGetAttributeAccessControlGetPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- RecordIDPtr aRecord; /* -> RecordID to which access control list is sought list is sought */
- AttributeTypePtr aType; /* -> Attribute Type to which access controls are sought */
- long cReserved; /* -- unused */
- long dReserved; /* -- unused */
- long eResreved; /* --> */
- Boolean forCurrentUserOnly; /* --> */
- Boolean filler1;
- DSSpec * startingPoint; /* --> starting Point */
- Boolean includeStartingPoint; /* --> if true return the record specified in starting point */
- Boolean filler2;
- void * getBuffer; /* -> */
- unsigned long getBufferSize; /* -> */
- };
- typedef struct DirGetAttributeAccessControlGetPB DirGetAttributeAccessControlGetPB;
- /* The Access Control call-back function is defined as follows: */
- typedef CALLBACK_API( Boolean , ForEachAttributeAccessControlProcPtr )(long clientData, const DSSpec *dsObj, AccessMask activeDnodeAccMask, AccessMask activeRecordAccMask, AccessMask activeAttributeAccMask);
- typedef STACK_UPP_TYPE(ForEachAttributeAccessControlProcPtr) ForEachAttributeAccessControlUPP;
- typedef ForEachAttributeAccessControlUPP ForEachAttributeAccessControl;
- /*
- GetAttributeAccessControlParse:
- After an GetAttributeAccessControlGet call has completed,
- call GetAttributeAccessControlParse to parse through the buffer that
- that was filled in GetAttributeAccessControlGet.
-
- 'eachObject' will be called each time to return to the client a
- DsObject and a set of three accMasks (three long words) for that object.
- Acceesmasks returned apply to the dsObject in the callback :
- 1. Active Access mask for the DNode Containing the Attribute.
- 2. Active Access mask for the Record in the Containing the Attribute.
- 3. Active Access mask for the specified Attribute.
- The clientData parameter that you pass in the parameter block will be passed
- to 'eachObject'. You are free to put anything in clientData - it is intended
- to allow you some way to match the call-back to the original call (for
- example, you make more then one aysynchronous GetAttributeAccessControlGet calls and you want to
- associate returned results in some way).
-
- The client should return FALSE from 'eachObject' to continue
- processing of the GetAttributeAccessControlParse request. Returning TRUE will
- terminate the GetAttributeAccessControlParse request.
- For synchronous calls, the call-back routine actually runs as part of the same thread
- of execution as the thread that made the GetAttributeAccessControlParse call. That means that the
- same low-memory globals, A5, stack, etc. are in effect during the call-back
- that were in effect when the call was made. Because of this, the call-back
- routine has the same restrictions as the caller of GetAttributeAccessControlParse:
- if GetAttributeAccessControlParse was not called from interrupt level, then the call-
- back routine can allocate memory. For asynchronous calls, call-back routine is
- like a ioCompletion except that A5 will be preserved for the application.
- */
- struct DirGetAttributeAccessControlParsePB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- RecordIDPtr aRecord; /* -> RecordID to which access control list is sought list is sought */
- AttributeTypePtr aType; /* -> Attribute Type to which access controls are sought */
- long cReserved; /* -- unused */
- long dReserved; /* -- unused */
- ForEachAttributeAccessControl eachObject; /* --> */
- Boolean forCurrentUserOnly; /* --> */
- Boolean filler1;
- DSSpec * startingPoint; /* --> starting Point */
- Boolean includeStartingPoint; /* --> if true return the record specified in starting point */
- Boolean filler2;
- void * getBuffer; /* -> */
- unsigned long getBufferSize; /* -> */
- };
- typedef struct DirGetAttributeAccessControlParsePB DirGetAttributeAccessControlParsePB;
- /*
- MapPathNameToDNodeNumber:
- This call maps a given PathName within a catalog to its DNodeNumber.
- */
- struct DirMapPathNameToDNodeNumberPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- DirectoryNamePtr directoryName; /* --> catalog name */
- DirDiscriminator discriminator; /* --> discriminator */
- DNodeNum dNodeNumber; /* <-- dNodenumber to the path */
- PackedPathNamePtr path; /* --> Path Name to be mapped */
- };
- typedef struct DirMapPathNameToDNodeNumberPB DirMapPathNameToDNodeNumberPB;
- /*
- PathName in the path field will be mapped to the cooresponding dNodeNumber and
- returned in the DNodeNumber field. directoryName and descriminator Fields are
- ignored. DSRefNum is used to identify the catalog.
- */
- /*
- MapDNodeNumberToPathName:
- This call will map a given DNodeNumber with in a catalog to the
- corresponding PathName.
- */
- struct DirMapDNodeNumberToPathNamePB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- DirectoryNamePtr directoryName; /* --> catalog name */
- DirDiscriminator discriminator; /* --> discriminator */
- DNodeNum dNodeNumber; /* --> dNodenumber to be mapped */
- PackedPathNamePtr path; /* <-- Packed Path Name returned */
- unsigned short lengthOfPathName; /* --> length of packed pathName structure*/
- };
- typedef struct DirMapDNodeNumberToPathNamePB DirMapDNodeNumberToPathNamePB;
- /*
- dNodeNumber in the DNodeNumber field will be mapped to the cooresponding
- pathName and returned in the PackedPathName field.
- lengthOfPathName is to be set the length of pathName structure.
- If length of PackedPathName is larger then the lengthOfPathName, kOCEMoreData
- OSErr will be returned.
- */
- /*
- GetLocalNetworkSpec:
- This call will return the Local NetworkSpec. Client should supply
- an RString big enough to hold the NetworkSpec.
- */
- struct DirGetLocalNetworkSpecPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- DirectoryNamePtr directoryName; /* --> catalog name */
- DirDiscriminator discriminator; /* --> discriminator */
- NetworkSpecPtr networkSpec; /* <-- NetworkSpec */
- };
- typedef struct DirGetLocalNetworkSpecPB DirGetLocalNetworkSpecPB;
- /*
- PathName in the path field must be set to nil. internetName should be large
- enough to hold the internetName. InterNetname returned indicates path finder's
- local internet (configured by administrator).
- */
- /*
- GetDNodeInfo:
- This call will return the information (internetName and descriptor)
- for the given RLI of a DNode.
- */
- struct DirGetDNodeInfoPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- PackedRLIPtr pRLI; /* --> packed RLI whose info is requested */
- DirNodeKind descriptor; /* <-- dNode descriptor */
- NetworkSpecPtr networkSpec; /* <-- cluster's networkSpec if kIsCluster */
- };
- typedef struct DirGetDNodeInfoPB DirGetDNodeInfoPB;
- /*
- If DnodeNumber is set to a non zero value, path should be set to nil.
- if DnodeNumber is set to zero, pathName should point to a packed path name.
- internetName should be large enough to hold
- the internetName. (If the internetName is same as the one got by
- GetLocalInternetName call, it indicates cluster is reachable without
- forwarders, --> Tell me if I am wrong)
- */
- /*
- DirCreatePersonalDirectory:
- A new personal catalog can be created by specifying an FSSpec for
- the file. If a file already exists dupFNErr will be returned. This call is
- supported 'synchronous' mode only.
- */
- struct DirCreatePersonalDirectoryPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- FSSpecPtr fsSpec; /* --> FSSpec for the Personal Catalog */
- OSType fdType; /* --> file type for the Personal Catalog */
- OSType fdCreator; /* --> file creator for the Personal Catalog */
- };
- typedef struct DirCreatePersonalDirectoryPB DirCreatePersonalDirectoryPB;
- /*
- DirOpenPersonalDirectory:
- An existing personal catalog can be opened using this call.
- User can specify the personal catalog by FSSpec for the AddressBook file.
- 'accessRequested' field specifies open permissions. 'fsRdPerm' & 'fsRdWrPerm'
- are the only accepted open modes for the address book.
- When the call completes successfully, a dsRefNum will be returned. The 'dsRefNum'
- field is in the DSParamBlockHeader. In addittion 'accessGranted' indicates
- actual permission with personal catalog is opened and 'features' indicate the capabilty flags
- associated with the personal catalog.
- This call is supported 'synchronous' mode only.
- */
- struct DirOpenPersonalDirectoryPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- FSSpecPtr fsSpec; /* --> Open an existing Personal Catalog */
- SInt8 accessRequested; /* --> Open: permissions Requested(byte)*/
- SInt8 accessGranted; /* <-- Open: permissions (byte) (Granted)*/
- DirGestalt features; /* <-- features for Personal Catalog */
- };
- typedef struct DirOpenPersonalDirectoryPB DirOpenPersonalDirectoryPB;
- /*
- DirClosePersonalDirectory: This call lets a client close AddressBook opened by DirOpenPersonalDirectory.
- The Personal Catalog specified by the 'dsRefNum' will be closed.
- This call is supported 'synchronous' mode only.
- */
- struct DirClosePersonalDirectoryPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- };
- typedef struct DirClosePersonalDirectoryPB DirClosePersonalDirectoryPB;
- /*
- DirMakePersonalDirectoryRLI: With this call a client can make an RLI
- for a Personal Catalog opened by DirOpenPersonalDirectory Call.
- A packed RLI is created for the Personal Catalog specified by the 'dsRefNum'.
- If a client has a need to make the AddressBook reference to persistent
- acrross boots it should make use of this call. In the current implementaion
- PackedRLI has an embeeded System7.0 'alias'. If in later time
- If client has a need to make reference to the AddressBook, it must use
- ADAPLibrary call 'DUExtractAlias' and resole the 'alias' to 'FSSpec' and
- make DirOpenPersonalDirectory call to get a 'dsRefNum'.
- 'fromFSSpec' FSPecPtr from which relative alias to be created. If nil,
- absolute alias is created.
- 'pRLIBufferSize' indicates the size of buffer pointed by 'pRLI'
- 'pRLISize' indicates the actual length of 'pRLI'. If the call
- fails with 'kOCEMoreData' error a client can reissue
- this call with a larger buffer of this length.
- 'pRLI' is pointer to the buffer in which 'PackedRLI' is
- returned.
- This call is supported in 'synchronous' mode only.
- */
- struct DirMakePersonalDirectoryRLIPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- FSSpecPtr fromFSSpec; /* --> FSSpec for creating relative alia */
- unsigned short pRLIBufferSize; /* --> Length of 'pRLI' buffer */
- unsigned short pRLISize; /* <-- Length of actual 'pRLI' */
- PackedRLIPtr pRLI; /* <-- pRLI for the specified AddressBook */
- };
- typedef struct DirMakePersonalDirectoryRLIPB DirMakePersonalDirectoryRLIPB;
- /*****************************************************************************
- The calls described below apply only for CSAM Drivers:
- The following three calls provide capability to Install/Remove a CSAM at RunTime.
- DirAddDSAM
- DirRemoveDSAM
- DirInstantiateDSAM
- The following two calls provide capability to Install/Remove a CSAM Catalog at RunTime.
- DirAddDSAMDirectory
- DirRemoveDirectory
- DirGetDirectoryIcon call is used by clients to get any special icon associated
- with a CSAM catalog.
- *****************************************************************************/
- /*
- DirAddDSAM: This call can be used to inorm the availability of a CSAM file
- after discovering the CSAM file.
- dsamName -> is generic CSAM name e.g. Untitled X.500 directory
- dsamSignature -> could be generic CSAM kind e.g. 'X500'.
- fsSpec -> is the FileSpec for the file containing CSAM resources.
- If the call is successfull 'DSAMRecordCID' will be returned. If the
- call returns 'daDSAMRecordCIDExists', record was already there and
- 'dsamRecordCID' will be returned.
- This call can be done only in synchronous mode.
- */
- struct DirAddDSAMPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- CreationID dsamRecordCID; /* <-- CreationID for the CSAM record */
- RStringPtr dsamName; /* --> CSAM name */
- OCEDirectoryKind dsamKind; /* --> CSAM kind */
- FSSpecPtr fsSpec; /* --> FSSpec for the file containing CSAM */
- };
- typedef struct DirAddDSAMPB DirAddDSAMPB;
- /*
- DirInstantiateDSAM: This call should be used by the CSAM driver in response
- Driver Open call to indicate the toolbox about the availability of the CSAM.
- dsamName -> is generic CSAM name e.g. Untitled X.500 directory
- dsamKind -> could be generic CSAM kind e.g. 'X500'.
- dsamData -> pointer to private DSAMData. This will be paased back to the CSAM
- when the CSAM functions (DSAMDirProc,DSAMDirParseProc, DSAMAuthProc) are called.
- CSAM should already be setup using DirAddDSAM call.
- DSAMDirProc -> This procedure will be called when any catalog service
- call intended for the CSAM (other then parse calls)
- DSAMDirParseProc -> This procedure will be called when any of the parse calls
- are called.
- DSAMAuthProc -> This procedure will be called when any of the Authentication Calls
- are made to the CSAM. If the CSAM does not support authentication, this can be nil.
- This call can be done only in synchronous mode.
- */
- typedef CALLBACK_API( OSErr , DSAMDirProcPtr )(void *dsamData, DirParamBlockPtr paramBlock, Boolean async);
- typedef STACK_UPP_TYPE(DSAMDirProcPtr) DSAMDirUPP;
- typedef DSAMDirUPP DSAMDirProc;
- typedef CALLBACK_API( OSErr , DSAMDirParseProcPtr )(void *dsamData, DirParamBlockPtr paramBlock, Boolean async);
- typedef STACK_UPP_TYPE(DSAMDirParseProcPtr) DSAMDirParseUPP;
- typedef DSAMDirParseUPP DSAMDirParseProc;
- typedef CALLBACK_API( OSErr , DSAMAuthProcPtr )(void *dsamData, AuthParamBlockPtr pb, Boolean async);
- typedef STACK_UPP_TYPE(DSAMAuthProcPtr) DSAMAuthUPP;
- typedef DSAMAuthUPP DSAMAuthProc;
- struct DirInstantiateDSAMPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- RStringPtr dsamName; /* --> dsamName name */
- OCEDirectoryKind dsamKind; /* --> DSAMKind */
- void * dsamData; /* --> dsamData */
- DSAMDirUPP dsamDirProc; /* --> of type DSAMDirProc: for catalog service calls */
- DSAMDirParseUPP dsamDirParseProc; /* --> of type DSAMDirParseProc: for catalog service parse calls */
- DSAMAuthUPP dsamAuthProc; /* --> of type DSAMAuthProc: for authetication service calls */
- };
- typedef struct DirInstantiateDSAMPB DirInstantiateDSAMPB;
- /*
- DirRemoveDSAM: This call can be used to remove a CSAM file from the OCE Setup.
- dsamRecordCID -> is the creationID of the CSAM record.
- This call can be made only in synchronous mode.
- */
- struct DirRemoveDSAMPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- CreationID dsamRecordCID; /* <-- CreationID for the CSAM record */
- };
- typedef struct DirRemoveDSAMPB DirRemoveDSAMPB;
- /*
- DirAddDSAMDirectory: This call can be used to inorm the availability of a CSAM catalog.
- dsamRecordCID -> recordID for the CSAM serving this catalog
- directoryName -> name of the catalog
- discriminator -> discriminator for the catalog
- directoryRecordCID -> If the call is successful, creationID for the record will
- be returned.
- */
- struct DirAddDSAMDirectoryPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- CreationID dsamRecordCID; /* --> CreationID for the CSAM record */
- DirectoryNamePtr directoryName; /* --> catalog name */
- DirDiscriminator discriminator; /* --> catalog discriminator */
- DirGestalt features; /* --> capabilty flags for the catalog */
- CreationID directoryRecordCID; /* <-- creationID for the catalog record */
- };
- typedef struct DirAddDSAMDirectoryPB DirAddDSAMDirectoryPB;
- /*
- DirRemoveDirectory: This call can be used to inform the toolbox that
- catalog specified by 'directoryRecordCID'
- */
- struct DirRemoveDirectoryPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- CreationID directoryRecordCID; /* --> creationID for the catalog record */
- };
- typedef struct DirRemoveDirectoryPB DirRemoveDirectoryPB;
- /*
- * DSGetExtendedDirectoriesInfo:: This call can be used to get
- * the information of various foreign catalogs supported.
- * Typically a DE Template may make this call to create a
- * Address template or a Gateway may make this call to findout
- * catalog name space in which MSAM may would support.
- * Client will supply a buffer pointed by 'bufferPtr' of size 'bufferLength'.
- * When the call completes with 'daMoreData' error, client can examine 'totalEntries'
- * returned and reissue the call with increaing buffer.
- * Toolbox will findout the private information of each of the Foreign Catalogs
- * by polling CSAM's, Gateways, and MnMServers. The Information returned
- * for each catalog will be packed in the format:
- * typedef struct EachDirectoryData {
- * PackedRLI pRLI; // packed RLI for the catalog
- * OSType entnType; // Entn Type
- * long hasMailSlot; // If this catalog has mail slot this will be 1 otherwise zero
- * ProtoRString RealName; // Packed RString for Real Name (padded to even boundary)
- * ProtoRString comment; // Packed RString holding any comment for Display (padded to even boundary)
- * long length; // data length
- * char data[length]; // data padded to even boundary
- * };
- *
- *
- *
- * typedef struct myData {
- * EachDirectoryData data[numberOfEntries]; // data packed in the above format
- * };
- *
- */
- struct DirGetExtendedDirectoriesInfoPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- void * buffer; /* --> Pointer to a buufer where data will be returned */
- unsigned long bufferSize; /* --> Length of the buffer, Length of actual data will be returned here */
- unsigned long totalEntries; /* <-- Total Number of Catalogs found */
- unsigned long actualEntries; /* <-- Total Number of Catalogs entries returned */
- };
- typedef struct DirGetExtendedDirectoriesInfoPB DirGetExtendedDirectoriesInfoPB;
- /*
- DirGetDirectoryIconPB: With this call a client can find out about
- the icons supported by the Catalog.
- Both ADAP and Personal Catalog will not support this call for now.
- A CSAM can support a call so that DE Extension can use this
- call to find appropriate Icons.
- Returns kOCEBufferTooSmall if icon is too small, but will update iconSize.
- */
- struct DirGetDirectoryIconPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- PackedRLIPtr pRLI; /* --> packed RLI for the catalog */
- OSType iconType; /* --> Type of Icon requested */
- void * iconBuffer; /* --> Buffer to hold Icon Data */
- unsigned long bufferSize; /* <-> size of buffer to hold icon data */
- };
- typedef struct DirGetDirectoryIconPB DirGetDirectoryIconPB;
- /*
- DirGetOCESetupRefNum: This call will return 'dsRefnum' for the OCE Setup Personal Catalog
- and oceSetupRecordCID for the oceSetup Record.
- Clients interested in manipulating OCE Setup Personal Catalog directly should
- make this call to get 'dsRefNum'.
- 'dsRefNum' will be returned in the standard field in the DirParamHeader.
- */
- struct DirGetOCESetupRefNumPB {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- CreationID oceSetupRecordCID; /* --> creationID for the catalog record */
- };
- typedef struct DirGetOCESetupRefNumPB DirGetOCESetupRefNumPB;
- /*****************************************************************************/
- /* Catalog and Authentication control blocks and operation definitions */
- union AuthParamBlock {
- struct {
- void * qLink;
- long reserved1;
- long reserved2;
- AuthIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- } header;
- AuthBindSpecificIdentityPB bindIdentityPB;
- AuthUnbindSpecificIdentityPB unbindIdentityPB;
- AuthResolveCreationIDPB resolveCreationIDPB;
- AuthGetSpecificIdentityInfoPB getIdentityInfoPB;
- AuthAddKeyPB addKeyPB;
- AuthChangeKeyPB changeKeyPB;
- AuthDeleteKeyPB deleteKeyPB;
- AuthPasswordToKeyPB passwordToKeyPB;
- AuthGetCredentialsPB getCredentialsPB;
- AuthDecryptCredentialsPB decryptCredentialsPB;
- AuthMakeChallengePB makeChallengePB;
- AuthMakeReplyPB makeReplyPB;
- AuthVerifyReplyPB verifyReplyPB;
- AuthGetUTCTimePB getUTCTimePB;
- AuthMakeProxyPB makeProxyPB;
- AuthTradeProxyForCredentialsPB tradeProxyForCredentialsPB;
- AuthGetLocalIdentityPB getLocalIdentityPB;
- AuthUnlockLocalIdentityPB unLockLocalIdentityPB;
- AuthLockLocalIdentityPB lockLocalIdentityPB;
- AuthAddToLocalIdentityQueuePB localIdentityQInstallPB;
- AuthRemoveFromLocalIdentityQueuePB localIdentityQRemovePB;
- AuthSetupLocalIdentityPB setupLocalIdentityPB;
- AuthChangeLocalIdentityPB changeLocalIdentityPB;
- AuthRemoveLocalIdentityPB removeLocalIdentityPB;
- OCESetupAddDirectoryInfoPB setupDirectoryIdentityPB;
- OCESetupChangeDirectoryInfoPB changeDirectoryIdentityPB;
- OCESetupRemoveDirectoryInfoPB removeDirectoryIdentityPB;
- OCESetupGetDirectoryInfoPB getDirectoryIdentityInfoPB;
- };
- union DirParamBlock {
- struct {
- void * qLink;
- long reserved1;
- long reserved2;
- DirIOCompletionUPP ioCompletion;
- OSErr ioResult;
- unsigned long saveA5;
- short reqCode;
- long reserved[2];
- AddrBlock serverHint;
- short dsRefNum;
- unsigned long callID;
- AuthIdentity identity;
- long gReserved1;
- long gReserved2;
- long gReserved3;
- long clientData;
- } header;
- DirAddRecordPB addRecordPB;
- DirDeleteRecordPB deleteRecordPB;
- DirEnumerateGetPB enumerateGetPB;
- DirEnumerateParsePB enumerateParsePB;
- DirFindRecordGetPB findRecordGetPB;
- DirFindRecordParsePB findRecordParsePB;
- DirLookupGetPB lookupGetPB;
- DirLookupParsePB lookupParsePB;
- DirAddAttributeValuePB addAttributeValuePB;
- DirDeleteAttributeTypePB deleteAttributeTypePB;
- DirDeleteAttributeValuePB deleteAttributeValuePB;
- DirChangeAttributeValuePB changeAttributeValuePB;
- DirVerifyAttributeValuePB verifyAttributeValuePB;
- DirFindValuePB findValuePB;
- DirEnumeratePseudonymGetPB enumeratePseudonymGetPB;
- DirEnumeratePseudonymParsePB enumeratePseudonymParsePB;
- DirAddPseudonymPB addPseudonymPB;
- DirDeletePseudonymPB deletePseudonymPB;
- DirAddAliasPB addAliasPB;
- DirEnumerateAttributeTypesGetPB enumerateAttributeTypesGetPB;
- DirEnumerateAttributeTypesParsePB enumerateAttributeTypesParsePB;
- DirGetNameAndTypePB getNameAndTypePB;
- DirSetNameAndTypePB setNameAndTypePB;
- DirGetRecordMetaInfoPB getRecordMetaInfoPB;
- DirGetDNodeMetaInfoPB getDNodeMetaInfoPB;
- DirGetDirectoryInfoPB getDirectoryInfoPB;
- DirGetDNodeAccessControlGetPB getDNodeAccessControlGetPB;
- DirGetDNodeAccessControlParsePB getDNodeAccessControlParsePB;
- DirGetRecordAccessControlGetPB getRecordAccessControlGetPB;
- DirGetRecordAccessControlParsePB getRecordAccessControlParsePB;
- DirGetAttributeAccessControlGetPB getAttributeAccessControlGetPB;
- DirGetAttributeAccessControlParsePB getAttributeAccessControlParsePB;
- DirEnumerateDirectoriesGetPB enumerateDirectoriesGetPB;
- DirEnumerateDirectoriesParsePB enumerateDirectoriesParsePB;
- DirAddADAPDirectoryPB addADAPDirectoryPB;
- DirRemoveDirectoryPB removeDirectoryPB;
- DirNetSearchADAPDirectoriesGetPB netSearchADAPDirectoriesGetPB;
- DirNetSearchADAPDirectoriesParsePB netSearchADAPDirectoriesParsePB;
- DirFindADAPDirectoryByNetSearchPB findADAPDirectoryByNetSearchPB;
- DirMapDNodeNumberToPathNamePB mapDNodeNumberToPathNamePB;
- DirMapPathNameToDNodeNumberPB mapPathNameToDNodeNumberPB;
- DirGetLocalNetworkSpecPB getLocalNetworkSpecPB;
- DirGetDNodeInfoPB getDNodeInfoPB;
- DirCreatePersonalDirectoryPB createPersonalDirectoryPB;
- DirOpenPersonalDirectoryPB openPersonalDirectoryPB;
- DirClosePersonalDirectoryPB closePersonalDirectoryPB;
- DirMakePersonalDirectoryRLIPB makePersonalDirectoryRLIPB;
- DirAddDSAMPB addDSAMPB;
- DirInstantiateDSAMPB instantiateDSAMPB;
- DirRemoveDSAMPB removeDSAMPB;
- DirAddDSAMDirectoryPB addDSAMDirectoryPB;
- DirGetExtendedDirectoriesInfoPB getExtendedDirectoriesInfoPB;
- DirGetDirectoryIconPB getDirectoryIconPB;
- DirGetOCESetupRefNumPB dirGetOCESetupRefNumPB;
- DirAbortPB abortPB;
- };
- #if OPAQUE_UPP_TYPES
- #if CALL_NOT_IN_CARBON
- EXTERN_API(AuthIOCompletionUPP)
- NewAuthIOCompletionUPP (AuthIOCompletionProcPtr userRoutine);
- EXTERN_API(NotificationUPP)
- NewNotificationUPP (NotificationProcPtr userRoutine);
- EXTERN_API(DirIOCompletionUPP)
- NewDirIOCompletionUPP (DirIOCompletionProcPtr userRoutine);
- EXTERN_API(ForEachDirEnumSpecUPP)
- NewForEachDirEnumSpecUPP (ForEachDirEnumSpecProcPtr userRoutine);
- EXTERN_API(ForEachRecordUPP)
- NewForEachRecordUPP (ForEachRecordProcPtr userRoutine);
- EXTERN_API(ForEachLookupRecordIDUPP)
- NewForEachLookupRecordIDUPP (ForEachLookupRecordIDProcPtr userRoutine);
- EXTERN_API(ForEachAttrTypeLookupUPP)
- NewForEachAttrTypeLookupUPP (ForEachAttrTypeLookupProcPtr userRoutine);
- EXTERN_API(ForEachAttrValueUPP)
- NewForEachAttrValueUPP (ForEachAttrValueProcPtr userRoutine);
- EXTERN_API(ForEachAttrTypeUPP)
- NewForEachAttrTypeUPP (ForEachAttrTypeProcPtr userRoutine);
- EXTERN_API(ForEachRecordIDUPP)
- NewForEachRecordIDUPP (ForEachRecordIDProcPtr userRoutine);
- EXTERN_API(ForEachDirectoryUPP)
- NewForEachDirectoryUPP (ForEachDirectoryProcPtr userRoutine);
- EXTERN_API(ForEachADAPDirectoryUPP)
- NewForEachADAPDirectoryUPP (ForEachADAPDirectoryProcPtr userRoutine);
- EXTERN_API(ForEachDNodeAccessControlUPP)
- NewForEachDNodeAccessControlUPP (ForEachDNodeAccessControlProcPtr userRoutine);
- EXTERN_API(ForEachRecordAccessControlUPP)
- NewForEachRecordAccessControlUPP (ForEachRecordAccessControlProcPtr userRoutine);
- EXTERN_API(ForEachAttributeAccessControlUPP)
- NewForEachAttributeAccessControlUPP (ForEachAttributeAccessControlProcPtr userRoutine);
- EXTERN_API(DSAMDirUPP)
- NewDSAMDirUPP (DSAMDirProcPtr userRoutine);
- EXTERN_API(DSAMDirParseUPP)
- NewDSAMDirParseUPP (DSAMDirParseProcPtr userRoutine);
- EXTERN_API(DSAMAuthUPP)
- NewDSAMAuthUPP (DSAMAuthProcPtr userRoutine);
- EXTERN_API(void)
- DisposeAuthIOCompletionUPP (AuthIOCompletionUPP userUPP);
- EXTERN_API(void)
- DisposeNotificationUPP (NotificationUPP userUPP);
- EXTERN_API(void)
- DisposeDirIOCompletionUPP (DirIOCompletionUPP userUPP);
- EXTERN_API(void)
- DisposeForEachDirEnumSpecUPP (ForEachDirEnumSpecUPP userUPP);
- EXTERN_API(void)
- DisposeForEachRecordUPP (ForEachRecordUPP userUPP);
- EXTERN_API(void)
- DisposeForEachLookupRecordIDUPP (ForEachLookupRecordIDUPP userUPP);
- EXTERN_API(void)
- DisposeForEachAttrTypeLookupUPP (ForEachAttrTypeLookupUPP userUPP);
- EXTERN_API(void)
- DisposeForEachAttrValueUPP (ForEachAttrValueUPP userUPP);
- EXTERN_API(void)
- DisposeForEachAttrTypeUPP (ForEachAttrTypeUPP userUPP);
- EXTERN_API(void)
- DisposeForEachRecordIDUPP (ForEachRecordIDUPP userUPP);
- EXTERN_API(void)
- DisposeForEachDirectoryUPP (ForEachDirectoryUPP userUPP);
- EXTERN_API(void)
- DisposeForEachADAPDirectoryUPP (ForEachADAPDirectoryUPP userUPP);
- EXTERN_API(void)
- DisposeForEachDNodeAccessControlUPP (ForEachDNodeAccessControlUPP userUPP);
- EXTERN_API(void)
- DisposeForEachRecordAccessControlUPP (ForEachRecordAccessControlUPP userUPP);
- EXTERN_API(void)
- DisposeForEachAttributeAccessControlUPP (ForEachAttributeAccessControlUPP userUPP);
- EXTERN_API(void)
- DisposeDSAMDirUPP (DSAMDirUPP userUPP);
- EXTERN_API(void)
- DisposeDSAMDirParseUPP (DSAMDirParseUPP userUPP);
- EXTERN_API(void)
- DisposeDSAMAuthUPP (DSAMAuthUPP userUPP);
- EXTERN_API(void)
- InvokeAuthIOCompletionUPP (AuthParamBlockPtr paramBlock,
- AuthIOCompletionUPP userUPP);
- EXTERN_API(Boolean)
- InvokeNotificationUPP (long clientData,
- AuthLocalIdentityOp callValue,
- AuthLocalIdentityLockAction actionValue,
- LocalIdentity identity,
- NotificationUPP userUPP);
- EXTERN_API(void)
- InvokeDirIOCompletionUPP (DirParamBlockPtr paramBlock,
- DirIOCompletionUPP userUPP);
- EXTERN_API(Boolean)
- InvokeForEachDirEnumSpecUPP (long clientData,
- const DirEnumSpec * enumSpec,
- ForEachDirEnumSpecUPP userUPP);
- EXTERN_API(Boolean)
- InvokeForEachRecordUPP (long clientData,
- const DirEnumSpec * enumSpec,
- PackedRLIPtr pRLI,
- ForEachRecordUPP userUPP);
- EXTERN_API(Boolean)
- InvokeForEachLookupRecordIDUPP (long clientData,
- const RecordID * recordID,
- ForEachLookupRecordIDUPP userUPP);
- EXTERN_API(Boolean)
- InvokeForEachAttrTypeLookupUPP (long clientData,
- const AttributeType * attrType,
- AccessMask myAttrAccMask,
- ForEachAttrTypeLookupUPP userUPP);
- EXTERN_API(Boolean)
- InvokeForEachAttrValueUPP (long clientData,
- const Attribute * attribute,
- ForEachAttrValueUPP userUPP);
- EXTERN_API(Boolean)
- InvokeForEachAttrTypeUPP (long clientData,
- const AttributeType * attrType,
- ForEachAttrTypeUPP userUPP);
- EXTERN_API(Boolean)
- InvokeForEachRecordIDUPP (long clientData,
- const RecordID * recordID,
- ForEachRecordIDUPP userUPP);
- EXTERN_API(Boolean)
- InvokeForEachDirectoryUPP (long clientData,
- const DirectoryName * dirName,
- const DirDiscriminator * discriminator,
- DirGestalt features,
- ForEachDirectoryUPP userUPP);
- EXTERN_API(Boolean)
- InvokeForEachADAPDirectoryUPP (long clientData,
- const DirectoryName * dirName,
- const DirDiscriminator * discriminator,
- DirGestalt features,
- AddrBlock serverHint,
- ForEachADAPDirectoryUPP userUPP);
- EXTERN_API(Boolean)
- InvokeForEachDNodeAccessControlUPP (long clientData,
- const DSSpec * dsObj,
- AccessMask activeDnodeAccMask,
- AccessMask defaultRecordAccMask,
- AccessMask defaultAttributeAccMask,
- ForEachDNodeAccessControlUPP userUPP);
- EXTERN_API(Boolean)
- InvokeForEachRecordAccessControlUPP (long clientData,
- const DSSpec * dsObj,
- AccessMask activeDnodeAccMask,
- AccessMask activeRecordAccMask,
- AccessMask defaultAttributeAccMask,
- ForEachRecordAccessControlUPP userUPP);
- EXTERN_API(Boolean)
- InvokeForEachAttributeAccessControlUPP (long clientData,
- const DSSpec * dsObj,
- AccessMask activeDnodeAccMask,
- AccessMask activeRecordAccMask,
- AccessMask activeAttributeAccMask,
- ForEachAttributeAccessControlUPP userUPP);
- EXTERN_API(OSErr)
- InvokeDSAMDirUPP (void * dsamData,
- DirParamBlockPtr paramBlock,
- Boolean async,
- DSAMDirUPP userUPP);
- EXTERN_API(OSErr)
- InvokeDSAMDirParseUPP (void * dsamData,
- DirParamBlockPtr paramBlock,
- Boolean async,
- DSAMDirParseUPP userUPP);
- EXTERN_API(OSErr)
- InvokeDSAMAuthUPP (void * dsamData,
- AuthParamBlockPtr pb,
- Boolean async,
- DSAMAuthUPP userUPP);
- #endif /* CALL_NOT_IN_CARBON */
- #else
- enum { uppAuthIOCompletionProcInfo = 0x00009802 }; /* register no_return_value Func(4_bytes:A0) */
- enum { uppNotificationProcInfo = 0x00003FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
- enum { uppDirIOCompletionProcInfo = 0x00009802 }; /* register no_return_value Func(4_bytes:A0) */
- enum { uppForEachDirEnumSpecProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
- enum { uppForEachRecordProcInfo = 0x00000FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes) */
- enum { uppForEachLookupRecordIDProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
- enum { uppForEachAttrTypeLookupProcInfo = 0x00000FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes) */
- enum { uppForEachAttrValueProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
- enum { uppForEachAttrTypeProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
- enum { uppForEachRecordIDProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
- enum { uppForEachDirectoryProcInfo = 0x00003FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
- enum { uppForEachADAPDirectoryProcInfo = 0x0000FFD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
- enum { uppForEachDNodeAccessControlProcInfo = 0x0000FFD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
- enum { uppForEachRecordAccessControlProcInfo = 0x0000FFD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
- enum { uppForEachAttributeAccessControlProcInfo = 0x0000FFD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
- enum { uppDSAMDirProcInfo = 0x000007E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 1_byte) */
- enum { uppDSAMDirParseProcInfo = 0x000007E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 1_byte) */
- enum { uppDSAMAuthProcInfo = 0x000007E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 1_byte) */
- #define NewAuthIOCompletionUPP(userRoutine) (AuthIOCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAuthIOCompletionProcInfo, GetCurrentArchitecture())
- #define NewNotificationUPP(userRoutine) (NotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNotificationProcInfo, GetCurrentArchitecture())
- #define NewDirIOCompletionUPP(userRoutine) (DirIOCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDirIOCompletionProcInfo, GetCurrentArchitecture())
- #define NewForEachDirEnumSpecUPP(userRoutine) (ForEachDirEnumSpecUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppForEachDirEnumSpecProcInfo, GetCurrentArchitecture())
- #define NewForEachRecordUPP(userRoutine) (ForEachRecordUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppForEachRecordProcInfo, GetCurrentArchitecture())
- #define NewForEachLookupRecordIDUPP(userRoutine) (ForEachLookupRecordIDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppForEachLookupRecordIDProcInfo, GetCurrentArchitecture())
- #define NewForEachAttrTypeLookupUPP(userRoutine) (ForEachAttrTypeLookupUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppForEachAttrTypeLookupProcInfo, GetCurrentArchitecture())
- #define NewForEachAttrValueUPP(userRoutine) (ForEachAttrValueUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppForEachAttrValueProcInfo, GetCurrentArchitecture())
- #define NewForEachAttrTypeUPP(userRoutine) (ForEachAttrTypeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppForEachAttrTypeProcInfo, GetCurrentArchitecture())
- #define NewForEachRecordIDUPP(userRoutine) (ForEachRecordIDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppForEachRecordIDProcInfo, GetCurrentArchitecture())
- #define NewForEachDirectoryUPP(userRoutine) (ForEachDirectoryUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppForEachDirectoryProcInfo, GetCurrentArchitecture())
- #define NewForEachADAPDirectoryUPP(userRoutine) (ForEachADAPDirectoryUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppForEachADAPDirectoryProcInfo, GetCurrentArchitecture())
- #define NewForEachDNodeAccessControlUPP(userRoutine) (ForEachDNodeAccessControlUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppForEachDNodeAccessControlProcInfo, GetCurrentArchitecture())
- #define NewForEachRecordAccessControlUPP(userRoutine) (ForEachRecordAccessControlUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppForEachRecordAccessControlProcInfo, GetCurrentArchitecture())
- #define NewForEachAttributeAccessControlUPP(userRoutine) (ForEachAttributeAccessControlUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppForEachAttributeAccessControlProcInfo, GetCurrentArchitecture())
- #define NewDSAMDirUPP(userRoutine) (DSAMDirUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDSAMDirProcInfo, GetCurrentArchitecture())
- #define NewDSAMDirParseUPP(userRoutine) (DSAMDirParseUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDSAMDirParseProcInfo, GetCurrentArchitecture())
- #define NewDSAMAuthUPP(userRoutine) (DSAMAuthUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDSAMAuthProcInfo, GetCurrentArchitecture())
- #define DisposeAuthIOCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeNotificationUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeDirIOCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeForEachDirEnumSpecUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeForEachRecordUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeForEachLookupRecordIDUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeForEachAttrTypeLookupUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeForEachAttrValueUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeForEachAttrTypeUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeForEachRecordIDUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeForEachDirectoryUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeForEachADAPDirectoryUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeForEachDNodeAccessControlUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeForEachRecordAccessControlUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeForEachAttributeAccessControlUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeDSAMDirUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeDSAMDirParseUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define DisposeDSAMAuthUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
- #pragma parameter InvokeAuthIOCompletionUPP(__A0, __A1)
- void InvokeAuthIOCompletionUPP(AuthParamBlockPtr paramBlock, AuthIOCompletionUPP userUPP) = 0x4E91;
- #else
- #define InvokeAuthIOCompletionUPP(paramBlock, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppAuthIOCompletionProcInfo, (paramBlock))
- #endif
- #define InvokeNotificationUPP(clientData, callValue, actionValue, identity, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppNotificationProcInfo, (clientData), (callValue), (actionValue), (identity))
- #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
- #pragma parameter InvokeDirIOCompletionUPP(__A0, __A1)
- void InvokeDirIOCompletionUPP(DirParamBlockPtr paramBlock, DirIOCompletionUPP userUPP) = 0x4E91;
- #else
- #define InvokeDirIOCompletionUPP(paramBlock, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppDirIOCompletionProcInfo, (paramBlock))
- #endif
- #define InvokeForEachDirEnumSpecUPP(clientData, enumSpec, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppForEachDirEnumSpecProcInfo, (clientData), (enumSpec))
- #define InvokeForEachRecordUPP(clientData, enumSpec, pRLI, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppForEachRecordProcInfo, (clientData), (enumSpec), (pRLI))
- #define InvokeForEachLookupRecordIDUPP(clientData, recordID, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppForEachLookupRecordIDProcInfo, (clientData), (recordID))
- #define InvokeForEachAttrTypeLookupUPP(clientData, attrType, myAttrAccMask, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppForEachAttrTypeLookupProcInfo, (clientData), (attrType), (myAttrAccMask))
- #define InvokeForEachAttrValueUPP(clientData, attribute, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppForEachAttrValueProcInfo, (clientData), (attribute))
- #define InvokeForEachAttrTypeUPP(clientData, attrType, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppForEachAttrTypeProcInfo, (clientData), (attrType))
- #define InvokeForEachRecordIDUPP(clientData, recordID, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppForEachRecordIDProcInfo, (clientData), (recordID))
- #define InvokeForEachDirectoryUPP(clientData, dirName, discriminator, features, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppForEachDirectoryProcInfo, (clientData), (dirName), (discriminator), (features))
- #define InvokeForEachADAPDirectoryUPP(clientData, dirName, discriminator, features, serverHint, userUPP) (Boolean)CALL_FIVE_PARAMETER_UPP((userUPP), uppForEachADAPDirectoryProcInfo, (clientData), (dirName), (discriminator), (features), (serverHint))
- #define InvokeForEachDNodeAccessControlUPP(clientData, dsObj, activeDnodeAccMask, defaultRecordAccMask, defaultAttributeAccMask, userUPP) (Boolean)CALL_FIVE_PARAMETER_UPP((userUPP), uppForEachDNodeAccessControlProcInfo, (clientData), (dsObj), (activeDnodeAccMask), (defaultRecordAccMask), (defaultAttributeAccMask))
- #define InvokeForEachRecordAccessControlUPP(clientData, dsObj, activeDnodeAccMask, activeRecordAccMask, defaultAttributeAccMask, userUPP) (Boolean)CALL_FIVE_PARAMETER_UPP((userUPP), uppForEachRecordAccessControlProcInfo, (clientData), (dsObj), (activeDnodeAccMask), (activeRecordAccMask), (defaultAttributeAccMask))
- #define InvokeForEachAttributeAccessControlUPP(clientData, dsObj, activeDnodeAccMask, activeRecordAccMask, activeAttributeAccMask, userUPP) (Boolean)CALL_FIVE_PARAMETER_UPP((userUPP), uppForEachAttributeAccessControlProcInfo, (clientData), (dsObj), (activeDnodeAccMask), (activeRecordAccMask), (activeAttributeAccMask))
- #define InvokeDSAMDirUPP(dsamData, paramBlock, async, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppDSAMDirProcInfo, (dsamData), (paramBlock), (async))
- #define InvokeDSAMDirParseUPP(dsamData, paramBlock, async, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppDSAMDirParseProcInfo, (dsamData), (paramBlock), (async))
- #define InvokeDSAMAuthUPP(dsamData, pb, async, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppDSAMAuthProcInfo, (dsamData), (pb), (async))
- #endif
- /* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
- #define NewAuthIOCompletionProc(userRoutine) NewAuthIOCompletionUPP(userRoutine)
- #define NewNotificationProc(userRoutine) NewNotificationUPP(userRoutine)
- #define NewDirIOCompletionProc(userRoutine) NewDirIOCompletionUPP(userRoutine)
- #define NewForEachDirEnumSpecProc(userRoutine) NewForEachDirEnumSpecUPP(userRoutine)
- #define NewForEachRecordProc(userRoutine) NewForEachRecordUPP(userRoutine)
- #define NewForEachLookupRecordIDProc(userRoutine) NewForEachLookupRecordIDUPP(userRoutine)
- #define NewForEachAttrTypeLookupProc(userRoutine) NewForEachAttrTypeLookupUPP(userRoutine)
- #define NewForEachAttrValueProc(userRoutine) NewForEachAttrValueUPP(userRoutine)
- #define NewForEachAttrTypeProc(userRoutine) NewForEachAttrTypeUPP(userRoutine)
- #define NewForEachRecordIDProc(userRoutine) NewForEachRecordIDUPP(userRoutine)
- #define NewForEachDirectoryProc(userRoutine) NewForEachDirectoryUPP(userRoutine)
- #define NewForEachADAPDirectoryProc(userRoutine) NewForEachADAPDirectoryUPP(userRoutine)
- #define NewForEachDNodeAccessControlProc(userRoutine) NewForEachDNodeAccessControlUPP(userRoutine)
- #define NewForEachRecordAccessControlProc(userRoutine) NewForEachRecordAccessControlUPP(userRoutine)
- #define NewForEachAttributeAccessControlProc(userRoutine) NewForEachAttributeAccessControlUPP(userRoutine)
- #define NewDSAMDirProc(userRoutine) NewDSAMDirUPP(userRoutine)
- #define NewDSAMDirParseProc(userRoutine) NewDSAMDirParseUPP(userRoutine)
- #define NewDSAMAuthProc(userRoutine) NewDSAMAuthUPP(userRoutine)
- #define CallAuthIOCompletionProc(userRoutine, paramBlock) InvokeAuthIOCompletionUPP(paramBlock, userRoutine)
- #define CallNotificationProc(userRoutine, clientData, callValue, actionValue, identity) InvokeNotificationUPP(clientData, callValue, actionValue, identity, userRoutine)
- #define CallDirIOCompletionProc(userRoutine, paramBlock) InvokeDirIOCompletionUPP(paramBlock, userRoutine)
- #define CallForEachDirEnumSpecProc(userRoutine, clientData, enumSpec) InvokeForEachDirEnumSpecUPP(clientData, enumSpec, userRoutine)
- #define CallForEachRecordProc(userRoutine, clientData, enumSpec, pRLI) InvokeForEachRecordUPP(clientData, enumSpec, pRLI, userRoutine)
- #define CallForEachLookupRecordIDProc(userRoutine, clientData, recordID) InvokeForEachLookupRecordIDUPP(clientData, recordID, userRoutine)
- #define CallForEachAttrTypeLookupProc(userRoutine, clientData, attrType, myAttrAccMask) InvokeForEachAttrTypeLookupUPP(clientData, attrType, myAttrAccMask, userRoutine)
- #define CallForEachAttrValueProc(userRoutine, clientData, attribute) InvokeForEachAttrValueUPP(clientData, attribute, userRoutine)
- #define CallForEachAttrTypeProc(userRoutine, clientData, attrType) InvokeForEachAttrTypeUPP(clientData, attrType, userRoutine)
- #define CallForEachRecordIDProc(userRoutine, clientData, recordID) InvokeForEachRecordIDUPP(clientData, recordID, userRoutine)
- #define CallForEachDirectoryProc(userRoutine, clientData, dirName, discriminator, features) InvokeForEachDirectoryUPP(clientData, dirName, discriminator, features, userRoutine)
- #define CallForEachADAPDirectoryProc(userRoutine, clientData, dirName, discriminator, features, serverHint) InvokeForEachADAPDirectoryUPP(clientData, dirName, discriminator, features, serverHint, userRoutine)
- #define CallForEachDNodeAccessControlProc(userRoutine, clientData, dsObj, activeDnodeAccMask, defaultRecordAccMask, defaultAttributeAccMask) InvokeForEachDNodeAccessControlUPP(clientData, dsObj, activeDnodeAccMask, defaultRecordAccMask, defaultAttributeAccMask, userRoutine)
- #define CallForEachRecordAccessControlProc(userRoutine, clientData, dsObj, activeDnodeAccMask, activeRecordAccMask, defaultAttributeAccMask) InvokeForEachRecordAccessControlUPP(clientData, dsObj, activeDnodeAccMask, activeRecordAccMask, defaultAttributeAccMask, userRoutine)
- #define CallForEachAttributeAccessControlProc(userRoutine, clientData, dsObj, activeDnodeAccMask, activeRecordAccMask, activeAttributeAccMask) InvokeForEachAttributeAccessControlUPP(clientData, dsObj, activeDnodeAccMask, activeRecordAccMask, activeAttributeAccMask, userRoutine)
- #define CallDSAMDirProc(userRoutine, dsamData, paramBlock, async) InvokeDSAMDirUPP(dsamData, paramBlock, async, userRoutine)
- #define CallDSAMDirParseProc(userRoutine, dsamData, paramBlock, async) InvokeDSAMDirParseUPP(dsamData, paramBlock, async, userRoutine)
- #define CallDSAMAuthProc(userRoutine, dsamData, pb, async) InvokeDSAMAuthUPP(dsamData, pb, async, userRoutine)
- #if CALL_NOT_IN_CARBON
- EXTERN_API( OSErr )
- AuthBindSpecificIdentity (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0200, 0xAA5E);
- EXTERN_API( OSErr )
- AuthUnbindSpecificIdentity (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0201, 0xAA5E);
- EXTERN_API( OSErr )
- AuthResolveCreationID (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0202, 0xAA5E);
- EXTERN_API( OSErr )
- AuthGetSpecificIdentityInfo (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0203, 0xAA5E);
- EXTERN_API( OSErr )
- AuthAddKey (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0207, 0xAA5E);
- EXTERN_API( OSErr )
- AuthChangeKey (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0208, 0xAA5E);
- EXTERN_API( OSErr )
- AuthDeleteKey (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0209, 0xAA5E);
- EXTERN_API( OSErr )
- AuthPasswordToKey (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x020A, 0xAA5E);
- EXTERN_API( OSErr )
- AuthGetCredentials (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x020B, 0xAA5E);
- EXTERN_API( OSErr )
- AuthDecryptCredentials (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x020C, 0xAA5E);
- EXTERN_API( OSErr )
- AuthMakeChallenge (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x020F, 0xAA5E);
- EXTERN_API( OSErr )
- AuthMakeReply (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0210, 0xAA5E);
- EXTERN_API( OSErr )
- AuthVerifyReply (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0211, 0xAA5E);
- EXTERN_API( OSErr )
- AuthGetUTCTime (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x021A, 0xAA5E);
- EXTERN_API( OSErr )
- AuthMakeProxy (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0212, 0xAA5E);
- EXTERN_API( OSErr )
- AuthTradeProxyForCredentials (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0213, 0xAA5E);
- /* Local Identity API */
- EXTERN_API( OSErr )
- AuthGetLocalIdentity (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0204, 0xAA5E);
- EXTERN_API( OSErr )
- AuthUnlockLocalIdentity (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0214, 0xAA5E);
- EXTERN_API( OSErr )
- AuthLockLocalIdentity (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0215, 0xAA5E);
- EXTERN_API( OSErr )
- AuthAddToLocalIdentityQueue (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0205, 0xAA5E);
- EXTERN_API( OSErr )
- AuthRemoveFromLocalIdentityQueue (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0206, 0xAA5E);
- EXTERN_API( OSErr )
- AuthSetupLocalIdentity (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0216, 0xAA5E);
- EXTERN_API( OSErr )
- AuthChangeLocalIdentity (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0217, 0xAA5E);
- EXTERN_API( OSErr )
- AuthRemoveLocalIdentity (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0218, 0xAA5E);
- EXTERN_API( OSErr )
- DirAddRecord (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0109, 0xAA5E);
- EXTERN_API( OSErr )
- DirDeleteRecord (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x010A, 0xAA5E);
- EXTERN_API( OSErr )
- DirEnumerateGet (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0111, 0xAA5E);
- EXTERN_API( OSErr )
- DirEnumerateParse (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0101, 0xAA5E);
- EXTERN_API( OSErr )
- DirFindRecordGet (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0140, 0xAA5E);
- EXTERN_API( OSErr )
- DirFindRecordParse (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0141, 0xAA5E);
- EXTERN_API( OSErr )
- DirLookupGet (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0117, 0xAA5E);
- EXTERN_API( OSErr )
- DirLookupParse (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0102, 0xAA5E);
- EXTERN_API( OSErr )
- DirAddAttributeValue (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x010B, 0xAA5E);
- EXTERN_API( OSErr )
- DirDeleteAttributeValue (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x010C, 0xAA5E);
- EXTERN_API( OSErr )
- DirDeleteAttributeType (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0130, 0xAA5E);
- EXTERN_API( OSErr )
- DirChangeAttributeValue (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x010D, 0xAA5E);
- EXTERN_API( OSErr )
- DirVerifyAttributeValue (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x010E, 0xAA5E);
- EXTERN_API( OSErr )
- DirFindValue (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0126, 0xAA5E);
- EXTERN_API( OSErr )
- DirEnumerateAttributeTypesGet (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0112, 0xAA5E);
- EXTERN_API( OSErr )
- DirEnumerateAttributeTypesParse (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0103, 0xAA5E);
- EXTERN_API( OSErr )
- DirAddPseudonym (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x010F, 0xAA5E);
- EXTERN_API( OSErr )
- DirDeletePseudonym (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0110, 0xAA5E);
- EXTERN_API( OSErr )
- DirAddAlias (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x011C, 0xAA5E);
- EXTERN_API( OSErr )
- DirEnumeratePseudonymGet (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0113, 0xAA5E);
- EXTERN_API( OSErr )
- DirEnumeratePseudonymParse (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0104, 0xAA5E);
- EXTERN_API( OSErr )
- DirGetNameAndType (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0114, 0xAA5E);
- EXTERN_API( OSErr )
- DirSetNameAndType (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0115, 0xAA5E);
- EXTERN_API( OSErr )
- DirGetRecordMetaInfo (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0116, 0xAA5E);
- EXTERN_API( OSErr )
- DirGetDNodeMetaInfo (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0118, 0xAA5E);
- EXTERN_API( OSErr )
- DirGetDirectoryInfo (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0119, 0xAA5E);
- EXTERN_API( OSErr )
- DirGetDNodeAccessControlGet (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x012A, 0xAA5E);
- EXTERN_API( OSErr )
- DirGetDNodeAccessControlParse (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x012F, 0xAA5E);
- EXTERN_API( OSErr )
- DirGetRecordAccessControlGet (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x012C, 0xAA5E);
- EXTERN_API( OSErr )
- DirGetRecordAccessControlParse (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0134, 0xAA5E);
- EXTERN_API( OSErr )
- DirGetAttributeAccessControlGet (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x012E, 0xAA5E);
- EXTERN_API( OSErr )
- DirGetAttributeAccessControlParse (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0138, 0xAA5E);
- EXTERN_API( OSErr )
- DirEnumerateDirectoriesGet (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x011A, 0xAA5E);
- EXTERN_API( OSErr )
- DirEnumerateDirectoriesParse (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0106, 0xAA5E);
- EXTERN_API( OSErr )
- DirMapPathNameToDNodeNumber (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0122, 0xAA5E);
- EXTERN_API( OSErr )
- DirMapDNodeNumberToPathName (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0123, 0xAA5E);
- EXTERN_API( OSErr )
- DirGetLocalNetworkSpec (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0124, 0xAA5E);
- EXTERN_API( OSErr )
- DirGetDNodeInfo (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0125, 0xAA5E);
- /* Trap Dispatchers for Personal Catalog and CSAM Extensions */
- EXTERN_API( OSErr )
- DirCreatePersonalDirectory (DirParamBlockPtr paramBlock) FIVEWORDINLINE(0x7000, 0x1F00, 0x3F3C, 0x011F, 0xAA5E);
- EXTERN_API( OSErr )
- DirOpenPersonalDirectory (DirParamBlockPtr paramBlock) FIVEWORDINLINE(0x7000, 0x1F00, 0x3F3C, 0x011E, 0xAA5E);
- EXTERN_API( OSErr )
- DirClosePersonalDirectory (DirParamBlockPtr paramBlock) FIVEWORDINLINE(0x7000, 0x1F00, 0x3F3C, 0x0131, 0xAA5E);
- EXTERN_API( OSErr )
- DirMakePersonalDirectoryRLI (DirParamBlockPtr paramBlock) FIVEWORDINLINE(0x7000, 0x1F00, 0x3F3C, 0x0132, 0xAA5E);
- EXTERN_API( OSErr )
- DirAddDSAM (DirParamBlockPtr paramBlock) FIVEWORDINLINE(0x7000, 0x1F00, 0x3F3C, 0x011D, 0xAA5E);
- EXTERN_API( OSErr )
- DirInstantiateDSAM (DirParamBlockPtr paramBlock) FIVEWORDINLINE(0x7000, 0x1F00, 0x3F3C, 0x0127, 0xAA5E);
- EXTERN_API( OSErr )
- DirRemoveDSAM (DirParamBlockPtr paramBlock) FIVEWORDINLINE(0x7000, 0x1F00, 0x3F3C, 0x0120, 0xAA5E);
- EXTERN_API( OSErr )
- DirAddDSAMDirectory (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0133, 0xAA5E);
- EXTERN_API( OSErr )
- DirGetExtendedDirectoriesInfo (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0136, 0xAA5E);
- EXTERN_API( OSErr )
- DirGetDirectoryIcon (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0121, 0xAA5E);
- EXTERN_API( OSErr )
- DirAddADAPDirectory (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0137, 0xAA5E);
- EXTERN_API( OSErr )
- DirRemoveDirectory (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0135, 0xAA5E);
- EXTERN_API( OSErr )
- DirNetSearchADAPDirectoriesGet (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0108, 0xAA5E);
- EXTERN_API( OSErr )
- DirNetSearchADAPDirectoriesParse (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0105, 0xAA5E);
- EXTERN_API( OSErr )
- DirFindADAPDirectoryByNetSearch (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0107, 0xAA5E);
- EXTERN_API( OSErr )
- DirGetOCESetupRefNum (DirParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0128, 0xAA5E);
- EXTERN_API( OSErr )
- DirAbort (DirParamBlockPtr paramBlock) FIVEWORDINLINE(0x7000, 0x1F00, 0x3F3C, 0x011B, 0xAA5E);
- EXTERN_API( OSErr )
- OCESetupAddDirectoryInfo (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x0219, 0xAA5E);
- EXTERN_API( OSErr )
- OCESetupChangeDirectoryInfo (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x021B, 0xAA5E);
- EXTERN_API( OSErr )
- OCESetupRemoveDirectoryInfo (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x020D, 0xAA5E);
- EXTERN_API( OSErr )
- OCESetupGetDirectoryInfo (AuthParamBlockPtr paramBlock,
- Boolean async) THREEWORDINLINE(0x3F3C, 0x020E, 0xAA5E);
- #endif /* CALL_NOT_IN_CARBON */
- #if PRAGMA_STRUCT_ALIGN
- #pragma options align=reset
- #elif PRAGMA_STRUCT_PACKPUSH
- #pragma pack(pop)
- #elif PRAGMA_STRUCT_PACK
- #pragma pack()
- #endif
- #ifdef PRAGMA_IMPORT_OFF
- #pragma import off
- #elif PRAGMA_IMPORT
- #pragma import reset
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif /* __OCEAUTHDIR__ */