/* * Copyright (c) 2002 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ * * The contents of this file constitute Original Code as defined in and * are subject to the Apple Public Source License Version 1.1 (the * "License"). You may not use this file except in compliance with the * License. Please obtain a copy of the License at * http://www.apple.com/publicsource and read it before using this file. * * This Original Code and all software distributed under the License are * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the * License for the specific language governing rights and limitations * under the License. * * @APPLE_LICENSE_HEADER_END@ */ /*! * @header DirServicesConst */ #ifndef __DirServicesConst_h__ #define __DirServicesConst_h__ 1 /*! * @header DirectoryServices * This header contains well known attribute and record type constants. * They can be used with dsDataNodeAllocateString() to create a data node to pass to a * Directory Services API call. * Legend: * * eDS1xxxxxx Single Valued Attribute * * eDSNxxxxxx Multi-Valued Attribute * * NOTE: Access controls may prevent any particular client from reading/writting * various attributes. In addition some attributes may not be stored at * all and could represent "real-time" data generated by the directory node * plug-in. * * NOTE #2: Attributes in the model are available for records & directory nodes. */ // all records #define kDSRecordsAll "dsRecordsAll" #define kDSRecordsStandardAll "dsRecordsStandardAll" #define kDSRecordsNativeAll "dsRecordsNativeAll" // all attributes #define kDSAttributesAll "dsAttributesAll" #define kDSAttributesStandardAll "dsAttributesStandardAll" #define kDSAttributesNativeAll "dsAttributesNativeAll" // well known Record types #define kDSStdRecordTypePrefix "dsRecTypeStandard:" #define kDSNativeRecordTypePrefix "dsRecTypeNative:" #define kDSStdRecordTypeUsers "dsRecTypeStandard:Users" #define kDSStdRecordTypeUserAliases "dsRecTypeStandard:UserAliases" #define kDSStdRecordTypeGroups "dsRecTypeStandard:Groups" #define kDSStdRecordTypeGroupAliases "dsRecTypeStandard:GroupAliases" #define kDSStdRecordTypeMachines "dsRecTypeStandard:Machines" #define kDSStdRecordTypeAliases "dsRecTypeStandard:Aliases" #define kDSStdRecordTypeHosts "dsRecTypeStandard:Hosts" #define kDSStdRecordTypePrinters "dsRecTypeStandard:Printers" #define kDSStdRecordTypeNetworks "dsRecTypeStandard:Networks" #define kDSStdRecordTypeServices "dsRecTypeStandard:Services" #define kDSStdRecordTypeServer "dsRecTypeStandard:Server" #define kDSStdRecordTypProtocols "dsRecTypeStandard:Protocols" #define kDSStdRecordTypeProtocols "dsRecTypeStandard:Protocols" #define kDSStdRecordTypRPC "dsRecTypeStandard:RPC" #define kDSStdRecordTypeRPC "dsRecTypeStandard:RPC" #define kDSStdRecordTypePrintService "dsRecTypeStandard:PrintService" #define kDSStdRecordTypeConfig "dsRecTypeStandard:Config" #define kDSStdRecordTypeAFPServer "dsRecTypeStandard:AFPServer" #define kDSStdRecordTypeSMBServer "dsRecTypeStandard:SMBServer" #define kDSStdRecordTypeFTPServer "dsRecTypeStandard:FTPServer" #define kDSStdRecordTypeNFS "dsRecTypeStandard:NFS" #define kDSStdRecordTypeWebServer "dsRecTypeStandard:WebServer" #define kDSStdRecordTypeLDAPServer "dsRecTypeStandard:LDAPServer" #define kDSStdRecordTypeQTSServer "dsRecTypeStandard:QTSServer" #define kDSStdRecordTypMounts "dsRecTypeStandard:Mounts" #define kDSStdRecordTypeMounts "dsRecTypeStandard:Mounts" #define kDSStdRecordTypeComputers "dsRecTypeStandard:Computers" #define kDSStdRecordTypeComputerLists "dsRecTypeStandard:ComputerLists" #define kDSStdRecordTypePresetUsers "dsRecTypeStandard:PresetUsers" #define kDSStdRecordTypePresetGroups "dsRecTypeStandard:PresetGroups" #define kDSStdRecordTypePresetComputerLists "dsRecTypeStandard:PresetComputerLists" /*! * @defined kDSStdRecordTypePrintServiceUser * @discussion Record in the local node for storing quota usage for a user. */ #define kDSStdRecordTypePrintServiceUser "dsRecTypeStandard:PrintServiceUser" #define kDSStdRecordTypeAFPUserAliases "dsRecTypeStandard:AFPUserAliases" /*! * @defined kDSStdRecordTypeBootp * @discussion Record in the local node for storing bootp info. */ #define kDSStdRecordTypeBootp "dsRecTypeStandard:Bootp" /*! * @defined kDSStdRecordTypeNetDomains * @discussion Record in the local node for storing net domains. */ #define kDSStdRecordTypeNetDomains "dsRecTypeStandard:NetDomains" /*! * @defined kDSStdRecordTypeEthernets * @discussion Record in the local node for storing ethernets. */ #define kDSStdRecordTypeEthernets "dsRecTypeStandard:Ethernets" /*! * @defined kDSStdRecordTypeNetGroups * @discussion Record in the local node for storing net groups. */ #define kDSStdRecordTypeNetGroups "dsRecTypeStandard:NetGroups" /*! * @defined kDSStdRecordTypeHostServices * @discussion Record in the local node for storing host services. */ #define kDSStdRecordTypeHostServices "dsRecTypeStandard:HostServices" #define kDSStdUserNamesMeta "dsRecTypeStandard:MetaUserNames" #define kDSStdRecordTypeMeta "dsRecTypeStandard:AppleMetaRecord" // well known Attribute Types... #define kDSStdAttrTypePrefix "dsAttrTypeStandard:" #define kDSNativeAttrTypePrefix "dsAttrTypeNative:" #define kDSAttrNone "dsNone" // authentication methods #define kDSStdAuthMethodPrefix "dsAuthMethodStandard:" #define kDSNativeAuthMethodPrefix "dsAuthMethodNative:" #define kDSStdAuthClearText "dsAuthMethodStandard:dsAuthClearText" /*! * @defined kDSStdAuthCrypt * @discussion Use a crypt password stored in the user record if available to * do the authentication. The buffer is packed as follows: * * 4 byte length of username, * username in UTF8 encoding, * 4 byte length of password, * password in UTF8 encoding * * This method may not be supported by all plug-ins or for all users. */ #define kDSStdAuthCrypt "dsAuthMethodStandard:dsAuthCrypt" #define kDSStdAuthSetPasswd "dsAuthMethodStandard:dsAuthSetPasswd" /*! * @defined kDSStdAuthChangePasswd * @discussion Change the password for a user. Does not require prior authentication. * The buffer is packed as follows: * * 4 byte length of username, * username in UTF8 encoding, * 4 byte length of old password, * old password in UTF8 encoding, * 4 byte length of new password, * new password in UTF8 encoding */ #define kDSStdAuthChangePasswd "dsAuthMethodStandard:dsAuthChangePasswd" #define kDSStdAuthSetPasswdAsRoot "dsAuthMethodStandard:dsAuthSetPasswdAsRoot" /*! * @defined kDSStdAuth2WayRandomChangePasswd * @discussion Change the password for a user using the two-way random method. * Does not require prior authentication. * The buffer is packed as follows: * * 4 byte length of username, * username in UTF8 encoding, * 4 byte length of old password encrypted with new (should be 8), * old password encrypted with new, * 4 byte length of new password encrypted with old (should be 8), * new password encrypted with old */ #define kDSStdAuth2WayRandomChangePasswd "dsAuthMethodStandard:dsAuth2WayRandomChangePasswd" #define kDSStdAuthAPOP "dsAuthMethodStandard:dsAuthAPOP" #define kDSStdAuth2WayRandom "dsAuthMethodStandard:dsAuth2WayRandom" /*! * @defined kDSStdAuthNodeNativeClearTextOK * @discussion The plug-in should determine which specific authentication method to use. * The buffer is packed as follows: * * 4 byte length of username, * username in UTF8 encoding, * 4 byte length of password, * password in UTF8 encoding * * The plug-in may choose to use a cleartext authentication method if necessary. */ #define kDSStdAuthNodeNativeClearTextOK "dsAuthMethodStandard:dsAuthNodeNativeCanUseClearText" /*! * @defined kDSStdAuthNodeNativeNoClearText * @discussion The plug-in should determine which specific authentication method to use. * The buffer is packed as follows: * * 4 byte length of username, * username in UTF8 encoding, * 4 byte length of password, * password in UTF8 encoding * * The plug-in must not use an authentication method that sends the password in cleartext. */ #define kDSStdAuthNodeNativeNoClearText "dsAuthMethodStandard:dsAuthNodeNativeCannotUseClearText" #define kDSStdAuthSMB_NT_Key "dsAuthMethodStandard:dsAuthSMBNTKey" #define kDSStdAuthSMB_LM_Key "dsAuthMethodStandard:dsAuthSMBLMKey" #define kDSStdAuthCRAM_MD5 "dsAuthMethodStandard:dsAuthNodeCRAM-MD5" #define kDSStdAuthDIGEST_MD5 "dsAuthMethodStandard:dsAuthNodeDIGEST-MD5" /*! * @defined kDSStdAuthMSCHAP2 * @discussion * MS-CHAP2 is a mutual authentication method. The plug-in will generate the data to * send back to the client and put it in the step buffer. * * The input buffer format: * 4 byte length, * username, * 4 byte length, * server challenge, * 4 byte length, * peer challenge, * 4 byte length, * client's digest, * * The output buffer format: * 4 byte length, * return digest for the client's challenge */ #define kDSStdAuthMSCHAP2 "dsAuthMethodStandard:dsAuthMSCHAP2" #define kDSStdAuthMASKE_A "dsAuthMethodStandard:dsAuthMASKE-A" #define kDSStdAuthMASKE_B "dsAuthMethodStandard:dsAuthMASKE-B" /*! * @defined kDSStdAuthNewUser * @discussion * Create a new user record with the authentication authority * The buffer is packed as follows: * * 4 byte length of authenticator's UserID, * authenticator's UserID in UTF8 encoding, * 4 byte length of authenticator's password, * authenticator's password in UTF8 encoding * 4 byte length of new user's short-name, * user's short-name, * 4 byte length of new user's password, * user's password */ #define kDSStdAuthNewUser "dsAuthMethodStandard:dsAuthNewUser" /*! * @defined kDSStdAuthGetPolicy * @discussion The plug-in should determine which specific authentication method to use. * The buffer is packed as follows: * * 4 byte length of authenticator's UserID, * authenticator's UserID in UTF8 encoding, * 4 byte length of authenticator's password, * authenticator's password in UTF8 encoding * 4 byte length of UserID of the account to get policies, * UserID of the account to get policies in UTF8 encoding * * The Password Server does not require authentication for this auth method. * The first two fields are to cover us for future policy changes and to keep the buffer * format as standardized as possible. */ #define kDSStdAuthGetPolicy "dsAuthMethodStandard:dsAuthGetPolicy" /*! * @defined kDSStdAuthSetPolicy * @discussion The plug-in should determine which specific authentication method to use. * The buffer is packed as follows: * * 4 byte length of authenticator's UserID, * authenticator's UserID in UTF8 encoding, * 4 byte length of authenticator's password, * authenticator's password in UTF8 encoding * 4 byte length of UserID of the account to set policies, * UserID of the account to set policies in UTF8 encoding * 4 byte length of policy data, * policy data * */ #define kDSStdAuthSetPolicy "dsAuthMethodStandard:dsAuthSetPolicy" #define kDSStdAuthGetGlobalPolicy "dsAuthMethodStandard:dsAuthGetGlobalPolicy" #define kDSStdAuthSetGlobalPolicy "dsAuthMethodStandard:dsAuthSetGlobalPolicy" #define kDSStdAuthGetUserName "dsAuthMethodStandard:dsAuthGetUserName" #define kDSStdAuthSetUserName "dsAuthMethodStandard:dsAuthSetUserName" #define kDSStdAuthGetUserData "dsAuthMethodStandard:dsAuthGetUserData" #define kDSStdAuthSetUserData "dsAuthMethodStandard:dsAuthSetUserData" #define kDSStdAuthDeleteUser "dsAuthMethodStandard:dsAuthDeleteUser" // Users distinguished or real name #define kDS1AttrDistinguishedName "dsAttrTypeStandard:RealName" #define kDS1AttrFirstName "dsAttrTypeStandard:FirstName" #define kDS1AttrMiddleName "dsAttrTypeStandard:MiddleName" #define kDS1AttrLastName "dsAttrTypeStandard:LastName" // All possible names for a record #define kDSNAttrAllNames "dsAttrTypeStandard:AllNames" // set password methods #define kDSSetPasswdBestOf "dsSetPasswdBestOf" /*! * @defined kDSNAttrAuthenticationAuthority * @discussion Determines what mechanism is used to verify or set a user's password. * If multiple values are present, the first attributes returned take precedence. * Typically found in User records (kDSStdRecordTypeUsers). */ #define kDSNAttrAuthenticationAuthority "dsAttrTypeStandard:AuthenticationAuthority" /*! * @defined kDSValueDefaultAuthAuthority * @discussion The default value to use for the kDSNAttrAuthenticationAuthority attribute. * When creating a user record, set this value for authentication authority before * setting the password with dsDoDirNodeAuth. */ #define kDSValueAuthAuthorityDefault kDSValueAuthAuthorityBasic #define kDSValueAuthAuthorityBasic ";basic;" #define kDSValueAuthAuthorityLocalWindowsHash ";LocalWindowsHash;" #define kDSValueAuthAuthorityPasswordServerPrefix ";ApplePasswordServer;" // Single Valued Attribute #define kDS1AttrPassword "dsAttrTypeStandard:Password" #define kDS1AttrPasswordPlus "dsAttrTypeStandard:PasswordPlus" #define kDS1AttrAuthenticationHint "dsAttrTypeStandard:AuthenticationHint" #define kDS1AttrInternetAlias "dsAttrTypeStandard:InetAlias" #define kDS1AttrNFSHomeDirectory "dsAttrTypeStandard:NFSHomeDirectory" #define kDS1AttrUniqueID "dsAttrTypeStandard:UniqueID" #define kDS1AttrPrimaryGroupID "dsAttrTypeStandard:PrimaryGroupID" #define kDS1AttrMailAttribute "dsAttrTypeStandard:MailAttribute" #define kDS1AttrComment "dsAttrTypeStandard:Comment" #define kDS1AttrRARA "dsAttrTypeStandard:RARA" #define kDS1AttrGeneratedUID "dsAttrTypeStandard:GeneratedUID" #define kDS1AttrAdminStatus "dsAttrTypeStandard:AdminStatus" #define kDS1AttrPwdAgingPolicy "dsAttrTypeStandard:PwdAgingPolicy" #define kDS1AttrUserShell "dsAttrTypeStandard:UserShell" #define kDS1AttrVFSType "dsAttrTypeStandard:VFSType" #define kDS1AttrVFSPassNo "dsAttrTypeStandard:VFSPassNo" #define kDS1AttrVFSDumpFreq "dsAttrTypeStandard:VFSDumpFreq" #define kDS1AttrVFSLinkDir "dsAttrTypeStandard:VFSLinkDir" #define kDS1AttrChange "dsAttrTypeStandard:Change" #define kDS1AttrExpire "dsAttrTypeStandard:Expire" #define kDSNAttrRecordAlias "dsAttrTypeStandard:RecordAlias" #define kDSNAttrGroupMembership "dsAttrTypeStandard:GroupMembership" #define kDSNAttrHomeDirectory "dsAttrTypeStandard:HomeDirectory" /*! * @defined kDS1AttrHomeDirectoryQuota * @discussion Represents the allowed usage for a user's home directory in bytes. * Found in user records (kDSStdRecordTypeUsers). */ #define kDS1AttrHomeDirectoryQuota "dsAttrTypeStandard:HomeDirectoryQuota" /*! * @defined kDS1AttrAdminLimits * @discussion XML plist indicating what an admin user can edit. * Found in kDSStdRecordTypeUsers records. */ #define kDS1AttrAdminLimits "dsAttrTypeStandard:AdminLimits" /*! * @defined kDS1AttrPresetUserIsAdmin * @discussion Flag to indicate whether users created from this preset are administrators * by default. Found in kDSStdRecordTypePresetUsers records. */ #define kDS1AttrPresetUserIsAdmin "dsAttrTypeStandard:PresetUserIsAdmin" #define kDS1StandardAttrHomeLocOwner kDS1AttrHomeLocOwner /*! * @defined kDS1AttrHomeLocOwner * @discussion Represents the owner of a workgroup's shared home directory. * Typically found in kDSStdRecordTypeGroups records. */ #define kDS1AttrHomeLocOwner "dsAttrTypeStandard:HomeLocOwner" #define kDSNAttrProtocols "dsAttrTypeStandard:Protocols" #define kDSNAttrVFSOpts "dsAttrTypeStandard:VFSOpts" /*! * @defined kDS1AttrPasswordServerLocation * @discussion Specifies the IP address or domain name of the Password Server associated * with a given directory node. Found in a config record named PasswordServer. */ #define kDS1AttrPasswordServerLocation "dsAttrTypeStandard:PasswordServerLocation" /*! * @defined kDS1AttrPort * @discussion Represents the port number a service is available on. * Typically found in service record types including kDSStdRecordTypeAFPServer, * kDSStdRecordTypeLDAPServer, and kDSStdRecordTypeWebServer. */ #define kDS1AttrPort "dsAttrTypeStandard:Port" /*! * @defined kDS1AttrLocation * @discussion Represents the location a service is available from (usually domain name). * Typically found in service record types including kDSStdRecordTypeAFPServer, * kDSStdRecordTypeLDAPServer, and kDSStdRecordTypeWebServer. */ #define kDS1AttrLocation "dsAttrTypeStandard:Location" /*! * @defined kDS1AttrServiceType * @discussion Represents the service type for the service. This is the raw service type of the * service. For example a service record type of kDSStdRecordTypeWebServer * might have a service type of "http" or "https". */ #define kDS1AttrServiceType "dsAttrTypeStandard:ServiceType" /*! * @defined kDS1AttrPicture * @discussion Represents the path of the picture for each user displayed in the login window. * Found in user records (kDSStdRecordTypeUsers). */ #define kDS1AttrPicture "dsAttrTypeStandard:Picture" // Mutivalued meta attribute data #define kDSNAttrMetaNodeLocation "dsAttrTypeStandard:AppleMetaNodeLocation" #define kStandardTargetAlias "dsAttrTypeStandard:AppleMetaAliasTarget" #define kStandardSourceAlias "dsAttrTypeStandard:AppleMetaAliasSource" #define kDS1AttrAliasData "dsAttrTypeStandard:AppleAliasData" // Single Valued - checksum/meta data #define kDS1AttrDataStamp "dsAttrTypeStandard:DataStamp" #define kDS1AttrTotalSize "dsAttrTypeStandard:TotalSize" // Single Valued - data of Create, Modify, Backup time in UTC #define kDS1AttrTimePackage "dsAttrTypeStandard:TimePackage" // Single Valued - alias attribute, contain pointer to another node/record/attribute #define kDS1AttrAlias "dsAttrTypeStandard:Alias" // Single valued - used to get a "auth" credential, to be used to authenticate // to other Directory nodes. #define kDS1AttrAuthCredential "dsAttrTypeStandard:AuthCredential" // used with directory nodes so that clients can "discover" the // API capabilities for this Directory Node. #define kDS1AttrCapabilities "dsAttrTypeStandard:Capabilities" // can be found using dsGetDirNodeInfo and will return one of // ReadOnly, ReadWrite, or WriteOnly strings // note that ReadWrite does not imply fully readable or writable #define kDS1AttrReadOnlyNode "dsAttrTypeStandard:ReadOnlyNode" // used with Search Node to "discover" the search path for this node #define kDS1AttrSearchPath "dsAttrTypeStandard:SearchPath" #define kDSNAttrSearchPath "dsAttrTypeStandard:SearchPath" // used with Search Node to "discover" the search policy for this node #define kDS1AttrSearchPolicy "dsAttrTypeStandard:SearchPolicy" // used with Search Node to "discover" the possible search paths for this node #define kDS1AttrNSPSearchPath "dsAttrTypeStandard:NSPSearchPath" #define kDSNAttrNSPSearchPath "dsAttrTypeStandard:NSPSearchPath" #define kDS1AttrLSPSearchPath "dsAttrTypeStandard:LSPSearchPath" #define kDSNAttrLSPSearchPath "dsAttrTypeStandard:LSPSearchPath" #define kDS1AttrCSPSearchPath "dsAttrTypeStandard:CSPSearchPath" #define kDSNAttrCSPSearchPath "dsAttrTypeStandard:CSPSearchPath" // force the directory service to generate a binary image of the // record and all it's attributes. #define kDS1AttrRecordImage "dsAttrTypeStandard:RecordImage" // Information (version, signature, about, credits..ect.) about the plug-in that // is actually servicing a particular directory node. #define kDSNAttrPlugInInfo "dsAttrTypeStandard:PlugInInfo" // Multivalued Attribute, list of names/keys for this record #define kDSNAttrRecordName "dsAttrTypeStandard:RecordName" // Multivalued - list of attribute types #define kDSNAttrSchema "dsAttrTypeStandard:Scheama" // Single Valued for a Record, Multi-valued for a Directory Node #define kDSNAttrRecordType "dsAttrTypeStandard:RecordType" #define kDSNAttrNodePath "dsAttrTypeStandard:NodePath" #define kDSNAttrAuthMethod "dsAttrTypeStandard:AuthMethod" #define kDSNAttrSetPasswdMethod "dsAttrTypeStandard:SetPasswdMethod" // Multivalued - list of group records #define kDSNAttrGroup "dsAttrTypeStandard:Group" // Multivalued - list of member records #define kDSNAttrMember "dsAttrTypeStandard:Member" #define kDSNAttrURL "dsAttrTypeStandard:URL" // data contained in this attribute type is a fully qualified MIME Type. #define kDSNAttrMIME "dsAttrTypeStandard:MIME" #define kDSNAttrHTML "dsAttrTypeStandard:HTML" #define kDSNAttrNBPEntry "dsAttrTypeStandard:NBPEntry" #define kDSNAttrDNSName "dsAttrTypeStandard:DNSName" #define kDSNAttrIPAddress "dsAttrTypeStandard:IPAddress" /*! * @defined kDS1AttrENetAddress * @discussion Single-valued attribute for hardware Ethernet address (MAC address). * Found in machine records (kDSStdRecordTypeMachines) and computer records * (kDSStdRecordTypeComputers). */ #define kDS1AttrENetAddress "dsAttrTypeStandard:ENetAddress" /*! * @defined kDSNAttrBootParams * @discussion Attribute type in host or machine records for storing boot params. */ #define kDSNAttrBootParams "dsAttrTypeStandard:BootParams" /*! * @defined kDSNAttrNetGroups * @discussion Attribute type that indicates which netgroups its record is a member of. * Found in user, host, and netdomain records. */ #define kDSNAttrNetGroups "dsAttrTypeStandard:NetGroups" #define kDSNAttrPGPPublicKey "dsAttrTypeStandard:PGPPublicKey" #define kDSNAttrEMailAddress "dsAttrTypeStandard:EMailAddress" #define kDSNAttrAreaCode "dsAttrTypeStandard:AreaCode" #define kDSNAttrPhoneNumber "dsAttrTypeStandard:PhoneNumber" #define kDSNAttrPostalAddress "dsAttrTypeStandard:PostalAddress" #define kDSNAttrOrganizationName "dsAttrTypeStandard:OrganizationName" #define kDSNAttrAddressLine1 "dsAttrTypeStandard:AddressLine1" #define kDSNAttrAddressLine2 "dsAttrTypeStandard:AddressLine2" #define kDSNAttrAddressLine3 "dsAttrTypeStandard:AddressLine3" #define kDSNAttrCity "dsAttrTypeStandard:City" #define kDSNAttrState "dsAttrTypeStandard:State" #define kDSNAttrPostalCode "dsAttrTypeStandard:PostalCode" // used for Setup Assistant automatic population #define kDS1AttrSetupOccupation "dsAttrTypeStandard:Occupation" #define kDS1AttrSetupLocation "dsAttrTypeStandard:SetupAssistantLocation" #define kDS1AttrSetupAdvertising "dsAttrTypeStandard:SetupAssistantAdvertising" #define kDS1AttrSetupAutoRegister "dsAttrTypeStandard:SetupAssistantAutoRegister" #define kDS1AttrMCXSettings "dsAttrTypeStandard:MCXSettings" #define kDS1AttrMCXFlags "dsAttrTypeStandard:MCXFlags" #define kDSNAttrComputers "dsAttrTypeStandard:Computers" // NSL #define kDSNAttrURLForNSL "dsAttrTypeStandard:URLForNSL" // Print #define kDS1AttrPrintServiceInfoXML "dsAttrTypeStandard:PrintServiceInfoXML" #define kDS1AttrPrintServiceInfoText "dsAttrTypeStandard:PrintServiceInfoText" /*! * @defined kDS1AttrPrintServiceUserData * @discussion Single-valued attribute for print quota configuration or statistics * (XML data). Found in user records (kDSStdRecordTypeUsers) or print service * statistics records (kDSStdRecordTypePrintServiceUser). */ #define kDS1AttrPrintServiceUserData "dsAttrTypeStandard:PrintServiceUserData" #endif