NetworkSetup.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:66k
- /*
- File: NetworkSetup.h
-
- Contains: Network Setup Interfaces
-
- Version: Technology: 1.1.0
- Release: QuickTime 6.0.2
-
- Copyright: (c) 1998-2001 by Apple Computer, Inc., all rights reserved
-
- Bugs?: For bug reports, consult the following page on
- the World Wide Web:
-
- http://developer.apple.com/bugreporter/
-
- */
- #ifndef __NETWORKSETUP__
- #define __NETWORKSETUP__
- #ifndef __MACTYPES__
- #include "MacTypes.h"
- #endif
- #ifndef __FILES__
- #include "Files.h"
- #endif
- #ifndef __OPENTRANSPORT__
- #include "OpenTransport.h"
- #endif
- #ifndef __OPENTRANSPORTPROVIDERS__
- #include "OpenTransportProviders.h"
- #endif
- #if PRAGMA_ONCE
- #pragma once
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- #if PRAGMA_IMPORT
- #pragma import on
- #endif
- #if PRAGMA_STRUCT_ALIGN
- #pragma options align=mac68k
- #elif PRAGMA_STRUCT_PACKPUSH
- #pragma pack(push, 2)
- #elif PRAGMA_STRUCT_PACK
- #pragma pack(2)
- #endif
- #if CALL_NOT_IN_CARBON
- #ifndef __NETWORKSETUPTYPES__
- #define __NETWORKSETUPTYPES__
- typedef struct OpaqueCfgDatabaseRef* CfgDatabaseRef;
- typedef UInt32 CfgAreaID;
- typedef OSType CfgEntityClass;
- typedef OSType CfgEntityType;
- struct CfgEntityRef {
- CfgAreaID fLoc;
- UInt32 fReserved;
- Str255 fID;
- };
- typedef struct CfgEntityRef CfgEntityRef;
- struct CfgResourceLocator {
- FSSpec fFile;
- UInt16 fResID;
- };
- typedef struct CfgResourceLocator CfgResourceLocator;
- struct CfgEntityInfo {
- CfgEntityClass fClass;
- CfgEntityType fType;
- Str255 fName;
- CfgResourceLocator fIcon;
- };
- typedef struct CfgEntityInfo CfgEntityInfo;
- typedef void * CfgEntityAccessID;
- struct CfgPrefsHeader {
- UInt16 fSize; /* size includes this header*/
- UInt16 fVersion;
- OSType fType;
- };
- typedef struct CfgPrefsHeader CfgPrefsHeader;
- /* -------------------------------------------------------------------------
- Error codes
- ------------------------------------------------------------------------- */
- enum {
- kCfgErrDatabaseChanged = -3290, /* database has changed since last call - close and reopen DB*/
- kCfgErrAreaNotFound = -3291, /* Area doesn't exist*/
- kCfgErrAreaAlreadyExists = -3292, /* Area already exists*/
- kCfgErrAreaNotOpen = -3293, /* Area needs to open first*/
- kCfgErrConfigLocked = -3294, /* Access conflict - retry later*/
- kCfgErrEntityNotFound = -3295, /* An entity with this name doesn't exist*/
- kCfgErrEntityAlreadyExists = -3296, /* An entity with this name already exists*/
- kCfgErrPrefsTypeNotFound = -3297, /* An record with this PrefsType doesn't exist*/
- kCfgErrDataTruncated = -3298, /* Data truncated when read buffer too small*/
- kCfgErrFileCorrupted = -3299 /* The database format appears to be corrupted.*/
- };
- /* reserve a 'free' tag for free blocks*/
- enum {
- kCfgTypefree = FOUR_CHAR_CODE('free')
- };
- /* -------------------------------------------------------------------------
- CfgEntityClass / CfgEntityType
- The database can distinguish between several classes of objects and
- several types withing each class
- Use of different classes allow to store type of information in the same database
- Other entity classes and types can be defined by developers.
- they should be unique and registered with Developer Tech Support (DTS)
- ------------------------------------------------------------------------- */
- enum {
- kCfgClassAnyEntity = FOUR_CHAR_CODE('****'),
- kCfgClassUnknownEntity = FOUR_CHAR_CODE('????'),
- kCfgTypeAnyEntity = FOUR_CHAR_CODE('****'),
- kCfgTypeUnknownEntity = FOUR_CHAR_CODE('????')
- };
- /* -------------------------------------------------------------------------
- For CfgIsSameEntityRef
- ------------------------------------------------------------------------- */
- enum {
- kCfgIgnoreArea = true,
- kCfgDontIgnoreArea = false
- };
- #endif /* __NETWORKSETUPTYPES__ */
- /*******************************************************************************
- ** Configuration Information Access API
- ********************************************************************************/
- /* -------------------------------------------------------------------------
- Database access
- ------------------------------------------------------------------------- */
- #if CALL_NOT_IN_CARBON
- EXTERN_API( OSStatus )
- OTCfgOpenDatabase (CfgDatabaseRef * dbRef);
- /*
- OTCfgOpenDatabase()
- Inputs: none
- Outputs: CfgDatabaseRef* dbRef Reference to opened database
- Returns: OSStatus *** list errors ***
- Opens the Configuration API for a given client. This call should be made prior to any other call.
- */
- EXTERN_API( OSStatus )
- OTCfgCloseDatabase (CfgDatabaseRef * dbRef);
- /*
- OTCfgCloseDatabase()
- Inputs: CfgDatabaseRef* dbRef Reference to opened database
- Outputs: CfgDatabaseRef* dbRef Reference to opened database is cleared
- Returns: OSStatus *** list errors ***
- Closes the Configuration API for a given client. This call should be made when the client no
- longer wants to use the Configuration API.
- */
- /* -------------------------------------------------------------------------
- Area management
- ------------------------------------------------------------------------- */
- EXTERN_API( OSStatus )
- OTCfgGetAreasCount (CfgDatabaseRef dbRef,
- ItemCount * itemCount);
- /*
- OTCfgGetAreasCount()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- Outputs: ItemCount* itemCount Number of entities defined
- Returns: OSStatus *** list errors ***
- Returns the number of areas currently defined.
- */
- EXTERN_API( OSStatus )
- OTCfgGetAreasList (CfgDatabaseRef dbRef,
- ItemCount * itemCount,
- CfgAreaID areaID[],
- Str255 areaName[]);
- /*
- OTCfgGetAreasList()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- ItemCount* itemCount Number of entities requested
- Outputs: ItemCount* itemCount Number of entities defined
- Returns: OSStatus *** list errors ***
- Returns a list of area IDs and names. On entry, count should be set to whatever OTCfgGetAreasCount
- returned. On exit, count contains the actual number of areas found. This can be less than the
- initial count value if areas were deleted in the meantime. The id and name parameters are stored
- in arrays that should each be able to contain count values.
- */
- EXTERN_API( OSStatus )
- OTCfgGetCurrentArea (CfgDatabaseRef dbRef,
- CfgAreaID * areaID);
- /*
- OTCfgGetCurrentArea()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- Outputs: CfgAreaID* areaID ID of current area
- Returns: OSStatus *** list errors ***
- Returns the id of the current area.
- */
- EXTERN_API( OSStatus )
- OTCfgSetCurrentArea (CfgDatabaseRef dbRef,
- CfgAreaID areaID);
- /*
- OTCfgSetCurrentArea()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- CfgAreaID areaID ID of area to make active
- Outputs: none
- Returns: OSStatus *** list errors ***
- Sets the current area. If the area doesn't exist kCfgErrAreaNotFound is returned.
- */
- EXTERN_API( OSStatus )
- OTCfgCreateArea (CfgDatabaseRef dbRef,
- ConstStr255Param areaName,
- CfgAreaID * areaID);
- /*
- OTCfgCreateArea()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- ConstStr255Param areaName Name of area to create
- Outputs: CfgAreaID* areaID ID of newly created area
- Returns: OSStatus *** list errors ***
- Creates a new area with the specified name. Then name must be unique or kCfgErrAreaAlreadyExists
- will be returned.
- */
- EXTERN_API( OSStatus )
- OTCfgDeleteArea (CfgDatabaseRef dbRef,
- CfgAreaID areaID);
- /*
- OTCfgDeleteArea()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- CfgAreaID areaID ID of area to delete
- Outputs: none
- Returns: OSStatus *** list errors ***
- Deletes the specified area. If the area doesn't exist kCfgErrAreaNotFound is returned.
- */
- EXTERN_API( OSStatus )
- OTCfgDuplicateArea (CfgDatabaseRef dbRef,
- CfgAreaID sourceAreaID,
- CfgAreaID destAreaID);
- /*
- OTCfgDuplicateArea()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- CfgAreaID sourceAreaID Area to duplicate
- CfgAreaID destAreaID Area to contain duplicate
- Outputs: none
- Returns: OSStatus *** list errors ***
- Duplicates the source area content into the destination area. Both areas should exist prior to
- making this call. If either area doesn't exist kCfgErrAreaNotFound is returned.
- */
- EXTERN_API( OSStatus )
- OTCfgSetAreaName (CfgDatabaseRef dbRef,
- CfgAreaID areaID,
- ConstStr255Param areaName,
- CfgAreaID * newAreaID);
- /*
- OTCfgSetAreaName()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- CfgAreaID areaID ID of area being named
- ConstStr255Param areaName New name for area
- Outputs: CfgAreaID* newAreaID ID of renamed area
- Returns: OSStatus *** list errors ***
- Renames the specified area. A new id is returned: it should be used from now on. If the area
- doesn't exist kCfgErrAreaNotFound is returned.
- */
- EXTERN_API( OSStatus )
- OTCfgGetAreaName (CfgDatabaseRef dbRef,
- CfgAreaID areaID,
- Str255 areaName);
- /*
- OTCfgGetAreaName()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- CfgAreaID areaID ID of area being queried
- Outputs: Str255 areaName Name of area
- Returns: OSStatus *** list errors ***
- Gets the name of the specified area. If the area doesn't exist kCfgErrAreaNotFound is returned.
- */
- /* -------------------------------------------------------------------------
- Configuration Database API
-
- Single Writer ONLY!!!
- ------------------------------------------------------------------------- */
- /* -------------------------------------------------------------------------
- Opening an area for reading
- ------------------------------------------------------------------------- */
- EXTERN_API( OSStatus )
- OTCfgOpenArea (CfgDatabaseRef dbRef,
- CfgAreaID areaID);
- /*
- OTCfgOpenArea()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- CfgAreaID areaID ID of area to open
- Outputs: none
- Returns: OSStatus *** list errors ***
- Opens the specified area for reading. If the area doesn't exist kCfgErrAreaNotFound is returned.
- */
- EXTERN_API( OSStatus )
- OTCfgCloseArea (CfgDatabaseRef dbRef,
- CfgAreaID areaID);
- /*
- OTCfgCloseArea()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- CfgAreaID areaID ID of area to close
- Outputs: none
- Returns: OSStatus *** list errors ***
- Closes an area opened for reading. If the area doesn't exist kCfgErrAreaNotFound is returned.
- Opening an area for writing All modifications to an area should be performed as part of a
- transaction.
- */
- /*
- For write access
- */
- EXTERN_API( OSStatus )
- OTCfgBeginAreaModifications (CfgDatabaseRef dbRef,
- CfgAreaID readAreaID,
- CfgAreaID * writeAreaID);
- /*
- OTCfgBeginAreaModifications()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- CfgAreaID readAreaID ID of area opened for reading
- Outputs: CfgAreaID* writeAreaID ID of area opened for modification
- Returns: OSStatus *** list errors ***
- Opens the specified area for writing. A new area id is provided. This area id should be used to
- enumerate, add, delete, read and write to the modified data. The original id can still be used to
- access the original unmodified data. If the area doesn't exist kCfgErrAreaNotFound is returned.
- */
- EXTERN_API( OSStatus )
- OTCfgCommitAreaModifications (CfgDatabaseRef dbRef,
- CfgAreaID readAreaID,
- CfgAreaID writeAreaID);
- /*
- OTCfgCommitAreaModifications()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- CfgAreaID readAreaID ID of area opened for reading
- CfgAreaID writeAreaID ID of area opened for modification
- Outputs: none
- Returns: OSStatus *** list errors ***
- Closes an area opened for writing. All modifications are committed and readers are informed that
- the database changed state ( kCfgStateChangedErr ). The areaID should be the id of the original
- area. If the area doesn't exist or the wrong id is passed, kCfgErrAreaNotFound is returned.
- */
- EXTERN_API( OSStatus )
- OTCfgAbortAreaModifications (CfgDatabaseRef dbRef,
- CfgAreaID readAreaID);
- /*
- OTCfgAbortAreaModifications()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- CfgAreaID readAreaID ID of area opened for reading
- Outputs: none
- Returns: OSStatus *** list errors ***
- Closes an area opened for writing, discarding any modification. The areaID should be the id of
- the original area. If the area doesn't exist or the wrong id is passed kCfgErrAreaNotFound is
- returned.
- */
- /*
- Working with entities
- Entities can be manipulated as soon as an area has been opened. The same calls work both for
- areas opened for reading or for modification. In the latter case, the calls can be used on the
- original or new area id to access the original data or the modified data.
- */
- /*
- For everybody
- Count receives the actual number of entities
- */
- EXTERN_API( OSStatus )
- OTCfgGetEntitiesCount (CfgDatabaseRef dbRef,
- CfgAreaID areaID,
- CfgEntityClass entityClass,
- CfgEntityType entityType,
- ItemCount * itemCount);
- /*
- OTCfgGetEntitiesCount()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- CfgAreaID areaID ID of area to count
- CfgEntityClass entityClass Class of entities to count
- CfgEntityType entityType Type of entities to count
- Outputs: ItemCount* itemCount Count of matching entities
- Returns: OSStatus *** list errors ***
- Returns the number of entities of the specified class and type in the specified area. To obtain
- all entities regardless of their class or type pass kCfgClassAnyEntity or kCfgTypeAnyEntity. If
- the area doesn't exist or the wrong id is passed kCfgErrAreaNotFound is returned.
- */
- /*
- Count as input, is the number of entities to read;
- count as output, receives the actual number of entities or the number you specified.
- */
- EXTERN_API( OSStatus )
- OTCfgGetEntitiesList (CfgDatabaseRef dbRef,
- CfgAreaID areaID,
- CfgEntityClass entityClass,
- CfgEntityType entityType,
- ItemCount * itemCount,
- CfgEntityRef entityRef[],
- CfgEntityInfo entityInfo[]);
- /*
- OTCfgGetEntitiesList()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- CfgAreaID areaID ID of area to list
- CfgEntityClass entityClass Class of entities to list
- CfgEntityType entityType Type of entities to list
- ItemCount* itemCount Count of entities requested
- Outputs: ItemCount* itemCount Count of entities listed
- Returns: OSStatus *** list errors ***
- Returns the list of entities of the specified class and type in the specified area. To obtain all
- entities regardless of their class or type pass kCfgClassAnyEntity or kCfgTypeAnyEntity. The
- count parameter should have the value obtained by CfgGetEntitiesCount. On exit count may be less
- if some entities were deleted in the meantime. The id and info parameters should be arrays large
- enough to hold count entries. If the area doesn't exist or the wrong id is passed
- kCfgErrAreaNotFound is returned. The info array contains information about each entity,
- including its class, type, name and the area of its icon:
- struct CfgEntityInfo
- {
- CfgEntityClass fClass;
- CfgEntityType fType;
- ConstStr255Param fName;
- CfgResourceLocator fIcon;
- };
- */
- EXTERN_API( OSStatus )
- OTCfgCreateEntity (CfgDatabaseRef dbRef,
- CfgAreaID areaID,
- const CfgEntityInfo * entityInfo,
- CfgEntityRef * entityRef);
- /*
- OTCfgCreateEntity()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- CfgAreaID areaID ID of area to contain entity
- CfgEntityInfo* entityInfo Information that defines the entity
- Outputs: CfgEntityRef* entityRef Reference to entity created
- Returns: OSStatus *** list errors ***
- Creates a new entity with the specified class, type and name and returns an id for it. If the
- area doesn't exist or the wrong id is passed kCfgErrAreaNotFound is returned. If there is already
- an entity with the same name kCfgErrEntityAlreadyExists is returned.
- */
- EXTERN_API( OSStatus )
- OTCfgDeleteEntity (CfgDatabaseRef dbRef,
- const CfgEntityRef * entityRef);
- /*
- OTCfgDeleteEntity()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- CfgEntityRef* entityRef Reference to entity to delete
- Outputs: none
- Returns: OSStatus *** list errors ***
- Deletes the specified entity. If there is no entity with this id kCfgEntityNotfoundErr is returned
- */
- EXTERN_API( OSStatus )
- OTCfgDuplicateEntity (CfgDatabaseRef dbRef,
- const CfgEntityRef * entityRef,
- const CfgEntityRef * newEntityRef);
- /*
- OTCfgDuplicateEntity()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- CfgEntityRef* entityRef Reference to entity to duplicate
- Outputs: CfgEntityRef* newEntityRef Reference to duplicate entity
- Returns: OSStatus *** list errors ***
- Duplicates the specified entity. Both entities should exit. If any entity doesn't exist
- kCfgErrEntityNotFound is returned.
- */
- EXTERN_API( OSStatus )
- OTCfgSetEntityName (CfgDatabaseRef dbRef,
- const CfgEntityRef * entityRef,
- ConstStr255Param entityName,
- CfgEntityRef * newEntityRef);
- /*
- OTCfgSetEntityName()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- CfgEntityRef* entityRef Reference to entity to duplicate
- ConstStr255Param entityName New name for entity
- Outputs: CfgEntityRef* newEntityRef Reference to renamed entity
- Returns: OSStatus *** list errors ***
- Renames the specified entity. If the entity doesn't exist kCfgEntityNotfoundErr is returned. If
- there is already an entity with that name kCfgErrEntityAlreadyExists is returned.
- */
- EXTERN_API( void )
- OTCfgGetEntityArea (const CfgEntityRef * entityRef,
- CfgAreaID * areaID);
- /*
- OTCfgGetEntityArea()
- Inputs: CfgEntityRef *entityRef Reference to an entity
- Outputs: CfgAreaID *areaID ID of area that contains the entity
- Returns: none
- Returns the area ID associated with the specified entity reference.
- */
- EXTERN_API( void )
- OTCfgGetEntityName (const CfgEntityRef * entityRef,
- Str255 entityName);
- /*
- OTCfgGetEntityName()
- Inputs: CfgEntityRef *entityRef Reference to an entity
- Outputs: Str255 entityName Name of the entity
- Returns: none
- Returns the entity name associated with the specified entity reference.
- */
- EXTERN_API( void )
- OTCfgChangeEntityArea (CfgEntityRef * entityRef,
- CfgAreaID newAreaID);
- /*
- OTCfgChangeEntityArea()
- Inputs: CfgEntityRef *entityRef Reference to an entity
- CfgAreaID newAreaID ID of area to contain moved entity
- Outputs: none
- Returns: none
- Changes the area ID associated with the specified entity reference. This effectively moves the
- entity to a different area.
- */
- /* -------------------------------------------------------------------------
- These API calls are for the protocol developers to compare the IDs.
- ------------------------------------------------------------------------- */
- /* -------------------------------------------------------------------------
- For OTCfgIsSameEntityRef
- ------------------------------------------------------------------------- */
- #endif /* CALL_NOT_IN_CARBON */
- enum {
- kOTCfgIgnoreArea = kCfgIgnoreArea,
- kOTCfgDontIgnoreArea = kCfgDontIgnoreArea
- };
- #if CALL_NOT_IN_CARBON
- EXTERN_API( Boolean )
- OTCfgIsSameEntityRef (const CfgEntityRef * entityRef1,
- const CfgEntityRef * entityRef2,
- Boolean ignoreArea);
- /*
- OTCfgIsSameEntityRef()
- Inputs: CfgEntityRef* entityRef1 Reference to an entity
- CfgEntityRef* entityRef2 Reference to another entity
- Boolean ignoreArea If true, ignore the area ID
- Outputs: none
- Returns: Boolean If true, entity references match
- Compare two entity references. If ignoreArea is true, and the two entity names are the same, then return
- true. If ignoreArea is false, then the area IDs must be the same, as well as the entity names
- must be the same, then can return true.
- */
- EXTERN_API( Boolean )
- OTCfgIsSameAreaID (CfgAreaID areaID1,
- CfgAreaID areaID2);
- /*
- OTCfgIsSameAreaID()
- Inputs: CfgAreaID areaID1 ID of an area
- CfgAreaID areaID2 ID of another area
- Outputs: none
- Returns: Boolean If true, area IDs match
- Compare two area IDs. Return true for matching area IDs, and return false for the different area IDs.
- */
- /* -------------------------------------------------------------------------
- Dealing with individual preferences
- ------------------------------------------------------------------------- */
- /* -------------------------------------------------------------------------
- Open Preferences
- if writer = true, GetPrefs and SetPrefs are allowed, else only GetPrefs is allowed.
- ------------------------------------------------------------------------- */
- EXTERN_API( OSStatus )
- OTCfgOpenPrefs (CfgDatabaseRef dbRef,
- const CfgEntityRef * entityRef,
- Boolean writer,
- CfgEntityAccessID * accessID);
- /*
- OTCfgOpenPrefs()
- Inputs: CfgDatabaseRef dbRef Reference to opened database
- CfgEntityRef* entityRef Reference to an entity
- Boolean writer If true, open for write
- Outputs: CfgEntityAccessID* accessID ID for entity access
- Returns: OSStatus *** list errors ***
- Open the specified entity and return the CfgEntityAccessID for the following access of the
- content of the entity. If writer is true, CfgGetPrefs and CfgSetPrefs are allowed, otherwise only
- CfgGetPrefs is allowed.
- */
- EXTERN_API( OSStatus )
- OTCfgClosePrefs (CfgEntityAccessID accessID);
- /*
- OTCfgClosePrefs()
- Inputs: CfgEntityAccessID* accessID ID for entity to close
- Outputs: none
- Returns: OSStatus *** list errors ***
- Close the entity with the specified CfgEntityAccessID.
- */
- /* -------------------------------------------------------------------------
- Get/Set Preferences
- Accessing the content of an entity
- These API calls are for the protocol developers. It supports multiple records per entity. Each
- record is identified by the prefsType and the size of the record. The protocol stack will provide
- the STRUCT to view the content of each record.
- ------------------------------------------------------------------------- */
- EXTERN_API( OSStatus )
- OTCfgSetPrefs (CfgEntityAccessID accessID,
- OSType prefsType,
- const void * data,
- ByteCount length);
- /*
- OTCfgSetPrefs()
- Inputs: CfgEntityAccessID* accessID ID of entity to access
- OSType prefsType Record type to set
- void* data Address of data
- ByteCount length Number of bytes of data
- Outputs: none
- Returns: OSStatus *** list errors ***
- Write the data to the specified record. The record is identified by the prefsType. If the entity
- is not opened for the writer, an error code is returned.
- */
- EXTERN_API( OSStatus )
- OTCfgGetPrefs (CfgEntityAccessID accessID,
- OSType prefsType,
- void * data,
- ByteCount length);
- /*
- OTCfgGetPrefs()
- Inputs: CfgEntityAccessID* accessID ID of entity to access
- OSType prefsType Record type to get
- void* data Address for data
- ByteCount length Number of bytes of data requested
- Outputs: none
- Returns: OSStatus *** list errors ***
- Read the data from the specified record to the passed buffer. The record is identified by the
- prefsType. If the passed buffer is too small, kCfgErrDataTruncated is returned, but will copy as
- many data as possible to the buffer.
- */
- EXTERN_API( OSStatus )
- OTCfgGetPrefsSize (CfgEntityAccessID accessID,
- OSType prefsType,
- ByteCount * length);
- /*
- OTCfgGetPrefsSize()
- Inputs: CfgEntityAccessID* accessID ID of entity to access
- OSType prefsType Record type to get
- ByteCount length Number of bytes of data available
- Outputs: none
- Returns: OSStatus *** list errors ***
- Returns the length, in bytes, of the specified record. The record is identified by the prefsType.
- */
- /* -------------------------------------------------------------------------
- Get table of contents for prefs
- ------------------------------------------------------------------------- */
- EXTERN_API( OSStatus )
- OTCfgGetPrefsTOCCount (CfgEntityAccessID accessID,
- ItemCount * itemCount);
- /*
- OTCfgGetPrefsTOCCount()
- Inputs: CfgEntityAccessID* accessID ID of entity to access
- Outputs: ItemCount* itemCount Number of entries available
- Returns: OSStatus *** list errors ***
- Get the count of all the record headers in the entity. Return the number of records in the count.
- */
- EXTERN_API( OSStatus )
- OTCfgGetPrefsTOC (CfgEntityAccessID accessID,
- ItemCount * itemCount,
- CfgPrefsHeader PrefsTOC[]);
- /*
- OTCfgGetPrefsTOC()
- Inputs: CfgEntityAccessID* accessID ID of entity to access
- ItemCount* itemCount Number of entries requested
- Outputs: ItemCount* itemCount Number of entries available
- CfgPrefsHeader PrefsTOC[] Table of entries
- Returns: OSStatus *** list errors ***
- Get the list of all the record headers in the entity. Return the number of records in the count.
- If the PrefsTOC is specified, it has to be big enough to hold all the record headers. If the
- PrefsTOC is null, only the count is returned.
- */
- EXTERN_API( SInt16 )
- OTCfgEncrypt (UInt8 * key,
- UInt8 * data,
- SInt16 dataLen);
- /*
- OTCfgEncrypt()
- Inputs: UInt8 *key encryption key ( user name )
- UInt8 *data data to encrypt ( password )
- SInt16 dataLen length of data to encrypt
- Outputs: UInt8 *data encrypted data
- Returns: SInt16 length of encrypted data
- Encrypt the password, using the user name as the encryption key. Return the encrypted password and its length.
- */
- EXTERN_API( SInt16 )
- OTCfgDecrypt (UInt8 * key,
- UInt8 * data,
- SInt16 dataLen);
- /*
- OTCfgDecrypt()
- Inputs: UInt8 *key encryption key ( user name )
- UInt8 *data data to decrypt ( password )
- SInt16 dataLen length of data to decrypt
- Outputs: UInt8 *data decrypted data
- Returns: SInt16 length of decrypted data
- Decrypt the password, using the user name as the encryption key. Return the decrypted password and its length.
- */
- EXTERN_API( Handle )
- OTCfgGetDefault (ResType entityType,
- ResType entityClass,
- ResType recordType);
- #endif /* CALL_NOT_IN_CARBON */
- #if CALL_NOT_IN_CARBON
- EXTERN_API( OSStatus )
- OTCfgInstallNotifier (CfgDatabaseRef dbRef,
- CfgEntityClass theClass,
- CfgEntityType theType,
- OTNotifyProcPtr notifier,
- void * contextPtr);
- EXTERN_API( OSStatus )
- OTCfgRemoveNotifier (CfgDatabaseRef dbRef,
- CfgEntityClass theClass,
- CfgEntityType theType);
- #endif /* CALL_NOT_IN_CARBON */
- typedef UInt16 OTCfgIRPortSetting;
- enum {
- kOTCfgTypeStruct = FOUR_CHAR_CODE('stru'),
- kOTCfgTypeElement = FOUR_CHAR_CODE('elem'),
- kOTCfgTypeVector = FOUR_CHAR_CODE('vect')
- };
- /* -------------------------------------------------------------------------
- CfgEntityClass / CfgEntityType
- The database can distinguish between several classes of objects and
- several types withing each class
- Use of different classes allow to store type of information in the same database
- Other entity classes and types can be defined by developers.
- they should be unique and registered with Developer Tech Support (DTS)
- ------------------------------------------------------------------------- */
- enum {
- kOTCfgClassNetworkConnection = FOUR_CHAR_CODE('otnc'),
- kOTCfgClassGlobalSettings = FOUR_CHAR_CODE('otgl'),
- kOTCfgClassServer = FOUR_CHAR_CODE('otsv'),
- kOTCfgTypeGeneric = FOUR_CHAR_CODE('otan'),
- kOTCfgTypeAppleTalk = FOUR_CHAR_CODE('atlk'),
- kOTCfgTypeTCPv4 = FOUR_CHAR_CODE('tcp4'),
- kOTCfgTypeTCPv6 = FOUR_CHAR_CODE('tcp6'),
- kOTCfgTypeRemote = FOUR_CHAR_CODE('ara '),
- kOTCfgTypeDial = FOUR_CHAR_CODE('dial'),
- kOTCfgTypeModem = FOUR_CHAR_CODE('modm'),
- kOTCfgTypeInfrared = FOUR_CHAR_CODE('infr'),
- kOTCfgClassSetOfSettings = FOUR_CHAR_CODE('otsc'),
- kOTCfgTypeSetOfSettings = FOUR_CHAR_CODE('otst'),
- kOTCfgTypeDNS = FOUR_CHAR_CODE('dns ')
- };
- /*******************************************************************************
- ** Preferences Structures
- ********************************************************************************/
- enum {
- kOTCfgIndexSetsActive = 0,
- kOTCfgIndexSetsEdit = 1,
- kOTCfgIndexSetsLimit = 2 /* last value, no comma*/
- };
- struct CfgSetsStruct {
- UInt32 fFlags;
- UInt32 fTimes[2];
- };
- typedef struct CfgSetsStruct CfgSetsStruct;
- struct CfgSetsElement {
- CfgEntityRef fEntityRef;
- CfgEntityInfo fEntityInfo;
- };
- typedef struct CfgSetsElement CfgSetsElement;
- struct CfgSetsVector {
- UInt32 fCount;
- CfgSetsElement fElements[1];
- };
- typedef struct CfgSetsVector CfgSetsVector;
- /* Common */
- enum {
- /* connection */
- kOTCfgTypeConfigName = FOUR_CHAR_CODE('cnam'),
- kOTCfgTypeConfigSelected = FOUR_CHAR_CODE('ccfg'), /* transport options */
- kOTCfgTypeUserLevel = FOUR_CHAR_CODE('ulvl'),
- kOTCfgTypeWindowPosition = FOUR_CHAR_CODE('wpos')
- };
- /* AppleTalk */
- enum {
- /* connection */
- kOTCfgTypeAppleTalkPrefs = FOUR_CHAR_CODE('atpf'),
- kOTCfgTypeAppleTalkVersion = FOUR_CHAR_CODE('cvrs'),
- kOTCfgTypeAppleTalkLocks = FOUR_CHAR_CODE('lcks'),
- kOTCfgTypeAppleTalkPort = FOUR_CHAR_CODE('port'),
- kOTCfgTypeAppleTalkProtocol = FOUR_CHAR_CODE('prot'),
- kOTCfgTypeAppleTalkPassword = FOUR_CHAR_CODE('pwrd'),
- kOTCfgTypeAppleTalkPortFamily = FOUR_CHAR_CODE('ptfm') /* transport options */
- };
- enum {
- kOTCfgIndexAppleTalkAARP = 0,
- kOTCfgIndexAppleTalkDDP = 1,
- kOTCfgIndexAppleTalkNBP = 2,
- kOTCfgIndexAppleTalkZIP = 3,
- kOTCfgIndexAppleTalkATP = 4,
- kOTCfgIndexAppleTalkADSP = 5,
- kOTCfgIndexAppleTalkPAP = 6,
- kOTCfgIndexAppleTalkASP = 7,
- kOTCfgIndexAppleTalkLast = 7
- };
- struct OTCfgAppleTalkPrefs {
- UInt16 fVersion;
- UInt16 fNumPrefs;
- OTPortRef fPort;
- void * fLink;
- void * fPrefs[8];
- };
- typedef struct OTCfgAppleTalkPrefs OTCfgAppleTalkPrefs;
- struct OTCfgAARPPrefs {
- UInt16 fVersion;
- UInt16 fSize;
- UInt32 fAgingCount;
- UInt32 fAgingInterval;
- OTByteCount fProtAddrLen;
- OTByteCount fHWAddrLen;
- UInt32 fMaxEntries;
- OTByteCount fProbeInterval;
- OTByteCount fProbeRetryCount;
- OTByteCount fRequestInterval;
- OTByteCount fRequestRetryCount;
- };
- typedef struct OTCfgAARPPrefs OTCfgAARPPrefs;
- struct OTCfgDDPPrefs {
- UInt16 fVersion;
- UInt16 fSize;
- UInt32 fTSDUSize;
- UInt8 fLoadType;
- UInt8 fNode;
- UInt16 fNetwork;
- UInt16 fRTMPRequestLimit;
- UInt16 fRTMPRequestInterval;
- UInt32 fAddressGenLimit;
- UInt32 fBRCAgingInterval;
- UInt32 fRTMPAgingInterval;
- UInt32 fMaxAddrTries;
- Boolean fDefaultChecksum;
- Boolean fIsFixedNode;
- UInt8 fMyZone[33];
- };
- typedef struct OTCfgDDPPrefs OTCfgDDPPrefs;
- struct OTCfgATPFPrefs {
- OTCfgAppleTalkPrefs fAT;
- OTCfgAARPPrefs fAARP;
- OTCfgDDPPrefs fDDP;
- char fFill[122];
- };
- typedef struct OTCfgATPFPrefs OTCfgATPFPrefs;
- /* Infrared */
- enum {
- kOTCfgTypeInfraredPrefs = FOUR_CHAR_CODE('atpf'),
- kOTCfgTypeInfraredGlobal = FOUR_CHAR_CODE('irgo')
- };
- struct OTCfgIRPrefs {
- CfgPrefsHeader fHdr;
- OTPortRef fPort; /* OT port id*/
- OTCfgIRPortSetting fPortSetting; /* Ir protocol, irda or irtalk*/
- Boolean fNotifyOnDisconnect; /* notify user on irda disconnect?*/
- Boolean fDisplayIRControlStrip; /* show ir control strip?*/
- Point fWindowPosition; /* The position of the editor window*/
- };
- typedef struct OTCfgIRPrefs OTCfgIRPrefs;
- struct OTCfgIRGlobal {
- CfgPrefsHeader fHdr; /* standard prefererences header*/
- UInt32 fOptions; /* options bitmask*/
- UInt32 fNotifyMask; /* Notification options.*/
- UInt32 fUnloadTimeout; /* Unload timeout (in milliseconds)*/
- };
- typedef struct OTCfgIRGlobal OTCfgIRGlobal;
- /* TCP/IP v4 */
- enum {
- /* connection */
- kOTCfgTypeTCPalis = FOUR_CHAR_CODE('alis'),
- kOTCfgTypeTCPcvrs = FOUR_CHAR_CODE('cvrs'),
- kOTCfgTypeTCPdcid = FOUR_CHAR_CODE('dcid'),
- kOTCfgTypeTCPdclt = FOUR_CHAR_CODE('dclt'),
- kOTCfgTypeTCPdtyp = FOUR_CHAR_CODE('dtyp'),
- kOTCfgTypeTCPidns = FOUR_CHAR_CODE('idns'),
- kOTCfgTypeTCPihst = FOUR_CHAR_CODE('ihst'),
- kOTCfgTypeTCPiitf = FOUR_CHAR_CODE('iitf'),
- kOTCfgTypeTCPara = FOUR_CHAR_CODE('ipcp'),
- kOTCfgTypeTCPirte = FOUR_CHAR_CODE('irte'),
- kOTCfgTypeTCPisdm = FOUR_CHAR_CODE('isdm'),
- kOTCfgTypeTCPstng = FOUR_CHAR_CODE('stng'),
- kOTCfgTypeTCPunld = FOUR_CHAR_CODE('unld'),
- kOTCfgTypeTCPVersion = FOUR_CHAR_CODE('cvrs'), /* Version */
- kOTCfgTypeTCPDevType = FOUR_CHAR_CODE('dvty'),
- kOTCfgTypeTCPPrefs = FOUR_CHAR_CODE('iitf'),
- kOTCfgTypeTCPServersList = FOUR_CHAR_CODE('idns'),
- kOTCfgTypeTCPSearchList = FOUR_CHAR_CODE('ihst'),
- kOTCfgTypeTCPRoutersList = FOUR_CHAR_CODE('irte'),
- kOTCfgTypeTCPDomainsList = FOUR_CHAR_CODE('isdm'),
- kOTCfgTypeTCPPort = FOUR_CHAR_CODE('port'), /* Ports */
- kOTCfgTypeTCPProtocol = FOUR_CHAR_CODE('prot'),
- kOTCfgTypeTCPPassword = FOUR_CHAR_CODE('pwrd'), /* Password */
- kOTCfgTypeTCPLocks = FOUR_CHAR_CODE('stng'), /* locks */
- kOTCfgTypeTCPUnloadType = FOUR_CHAR_CODE('unld') /* transport options */
- };
- struct OTCfgIDNSPrefs {
- short fCount;
- InetHost fAddressesList;
- };
- typedef struct OTCfgIDNSPrefs OTCfgIDNSPrefs;
- struct OTCfgHSTFPrefs {
- char fPrimaryInterfaceIndex; /* always 1 in OT 1.0 / 1.1*/
- /* this structure IS packed!*/
- UInt8 fLocalDomainName[256];
- /* followed by */
- UInt8 admindomain[256];
- };
- typedef struct OTCfgHSTFPrefs OTCfgHSTFPrefs;
- /* This is your worst case, a fixed size structure, tacked on after a variable length string.*/
- /* Use the macro to help access the movable beast. */
- #define kIITFPartP( h ) ( (OTCfgIITFPrefsPart*) &( (**( (OTCfgIITFPrefs**) h )).fAppleTalkZone[ (**( (OTCfgIITFPrefs**) h )).fAppleTalkZone[0] + 1 ] ) )
- /*
- This structure also contains an IP address and subnet mask that are not aligned on a four byte boundary.
- In order to avoid compiler warnings, and the possibility of code that won't work,
- these fields are defined here as four character arrays.
- It is suggested that BlockMoveData be used to copy to and from a field of type InetHost.
- */
- struct OTCfgIITFPrefsPart {
- char path[36];
- char module[32];
- unsigned long framing;
- };
- typedef struct OTCfgIITFPrefsPart OTCfgIITFPrefsPart;
- struct OTCfgIITFPrefs {
- short fCount;
- UInt8 fConfigMethod;
- /* this structure IS packed!*/
- /* Followed by:*/
- UInt8 fIPAddress[4];
- UInt8 fSubnetMask[4];
- UInt8 fAppleTalkZone[256];
- /* this structure IS packed!*/
- UInt8 fFiller;
- OTCfgIITFPrefsPart part;
- };
- typedef struct OTCfgIITFPrefs OTCfgIITFPrefs;
- struct OTCfgIRTEEntry {
- InetHost fToHost; /* always 0;*/
- InetHost fViaHost; /* router address;*/
- short fLocal; /* always 0*/
- short fHost; /* always 0*/
- };
- typedef struct OTCfgIRTEEntry OTCfgIRTEEntry;
- struct OTCfgIRTEPrefs {
- short fCount;
- OTCfgIRTEEntry fList[1];
- };
- typedef struct OTCfgIRTEPrefs OTCfgIRTEPrefs;
- struct OTCfgISDMPrefs {
- short fCount;
- Str255 fDomainsList;
- };
- typedef struct OTCfgISDMPrefs OTCfgISDMPrefs;
- struct OTCfgDHCPRecord {
- InetHost ipIPAddr;
- InetHost ipConfigServer;
- UInt32 ipLeaseGrantTime;
- UInt32 ipLeaseExpirationTime;
- };
- typedef struct OTCfgDHCPRecord OTCfgDHCPRecord;
- /* DNS */
- enum {
- /* connection */
- kOTCfgTypeDNSidns = FOUR_CHAR_CODE('idns'),
- kOTCfgTypeDNSisdm = FOUR_CHAR_CODE('isdm'),
- kOTCfgTypeDNSihst = FOUR_CHAR_CODE('ihst'),
- kOTCfgTypeDNSstng = FOUR_CHAR_CODE('stng'),
- kOTCfgTypeDNSPassword = FOUR_CHAR_CODE('pwrd') /* transport options */
- };
- /* Modem */
- enum {
- /* connection */
- kOTCfgTypeModemModem = FOUR_CHAR_CODE('ccl '), /* Type for Modem configuration resource*/
- kOTCfgTypeModemLocks = FOUR_CHAR_CODE('lkmd'), /* Types for lock resources*/
- kOTCfgTypeModemAdminPswd = FOUR_CHAR_CODE('mdpw'), /* Password*/
- /* transport options */
- kOTCfgTypeModemApp = FOUR_CHAR_CODE('mapt')
- };
- struct OTCfgRemoteConfigModem {
- UInt32 version;
- Boolean useModemScript;
- char pad00; /* this structure is NOT packed!*/
- FSSpec modemScript;
- Boolean modemSpeakerOn;
- Boolean modemPulseDial;
- UInt32 modemDialToneMode;
- SInt8 lowerLayerName[36];
- };
- typedef struct OTCfgRemoteConfigModem OTCfgRemoteConfigModem;
- struct OTCfgModemLocks {
- UInt32 version;
- UInt32 port;
- UInt32 script;
- UInt32 speaker;
- UInt32 dialing;
- };
- typedef struct OTCfgModemLocks OTCfgModemLocks;
- struct OTCfgModemAppPrefs {
- UInt32 version;
- Point windowPos;
- SInt32 userMode;
- };
- typedef struct OTCfgModemAppPrefs OTCfgModemAppPrefs;
- /* Remote Access */
- enum {
- /* connection */
- kOTCfgTypeRemoteARAP = FOUR_CHAR_CODE('arap'),
- kOTCfgTypeRemoteAddress = FOUR_CHAR_CODE('cadr'),
- kOTCfgTypeRemoteChat = FOUR_CHAR_CODE('ccha'),
- kOTCfgTypeRemoteDialing = FOUR_CHAR_CODE('cdia'),
- kOTCfgTypeRemoteExtAddress = FOUR_CHAR_CODE('cead'),
- kOTCfgTypeRemoteClientLocks = FOUR_CHAR_CODE('clks'),
- kOTCfgTypeRemoteClientMisc = FOUR_CHAR_CODE('cmsc'),
- kOTCfgTypeRemoteConnect = FOUR_CHAR_CODE('conn'),
- kOTCfgTypeRemoteUser = FOUR_CHAR_CODE('cusr'),
- kOTCfgTypeRemoteDialAssist = FOUR_CHAR_CODE('dass'),
- kOTCfgTypeRemoteIPCP = FOUR_CHAR_CODE('ipcp'),
- kOTCfgTypeRemoteLCP = FOUR_CHAR_CODE('lcp '), /* trailing space is important! */
- kOTCfgTypeRemoteLogOptions = FOUR_CHAR_CODE('logo'),
- kOTCfgTypeRemotePassword = FOUR_CHAR_CODE('pass'),
- kOTCfgTypeRemotePort = FOUR_CHAR_CODE('port'),
- kOTCfgTypeRemoteServerLocks = FOUR_CHAR_CODE('slks'),
- kOTCfgTypeRemoteServer = FOUR_CHAR_CODE('srvr'),
- kOTCfgTypeRemoteUserMode = FOUR_CHAR_CODE('usmd'),
- kOTCfgTypeRemoteX25 = FOUR_CHAR_CODE('x25 '), /* trailing space is important! */
- /* transport options */
- kOTCfgTypeRemoteApp = FOUR_CHAR_CODE('capt')
- };
- /*******************************************************************************
- * OTCfgRemoteLogOptions
- *
- * This structure is appended to OTCfgRemoteConnect records in the
- * OTCfgRemoteConnect::additional list.
- *
- * NOTE
- *
- * All OTCfgRemoteConnect::additional structures MUST have the same fields up to
- * the "additional" field. See OTCfgRemoteX25Info.
- ********************************************************************************/
- struct OTCfgRemoteLogOptions {
- UInt32 version;
- UInt32 fType; /* kRAConnectAdditionalLogOptions*/
- void * additional;
- UInt32 logLevel; /* values defined above.*/
- UInt32 reserved[4]; /* for later use.*/
- };
- typedef struct OTCfgRemoteLogOptions OTCfgRemoteLogOptions;
- /*******************************************************************************
- * New structures for dialing mode, phone numbers, and configuration stats.
- *
- *
- ********************************************************************************/
- enum {
- kOTCfgRemoteMaxAddressSize = (255 + 1)
- };
- struct OTCfgRemoteAddress {
- struct OTCfgRemoteAddress * next;
- UInt8 address[256];
- };
- typedef struct OTCfgRemoteAddress OTCfgRemoteAddress;
- /*******************************************************************************
- * OTCfgRemoteDialing
- *
- * This structure is appended to OTCfgRemoteConnect records in the
- * OTCfgRemoteConnect::additional list.
- *
- * NOTE
- *
- * All OTCfgRemoteConnect::additional structures MUST have the same fields up to
- * the "additional" field. See OTCfgRemoteX25Info.
- ********************************************************************************/
- struct OTCfgRemoteDialing {
- UInt32 version;
- UInt32 fType; /* kRAConnectAdditionalDialing*/
- void * additional;
- UInt32 dialMode; /* values defined above.*/
- SInt32 redialTries;
- UInt32 redialDelay; /* in seconds.*/
- OTCfgRemoteAddress * addresses;
- };
- typedef struct OTCfgRemoteDialing OTCfgRemoteDialing;
- /*******************************************************************************
- * OTCfgRemoteScript
- *
- * This is appended to OTCfgRemoteConnect records in the "additional" list.
- * It is currently only used for passing in a modem script to override
- * the default script. Connect scripts have their own field in OTCfgRemoteConnect.
- *
- * NOTE
- *
- * All OTCfgRemoteConnect::additional structures MUST have the same fields up to
- * the "additional" field. See OTCfgRemoteX25Info and OTCfgRemoteDialing.
- ********************************************************************************/
- struct OTCfgRemoteScript {
- UInt32 version;
- UInt32 fType; /* kRAConnectAdditionalScript*/
- void * additional;
- UInt32 scriptType;
- UInt32 scriptLength;
- UInt8 * scriptData;
- };
- typedef struct OTCfgRemoteScript OTCfgRemoteScript;
- /*******************************************************************************
- * Miscellaneous limits
- * The size limits for strings include a 1 byte for the string length or
- * a terminating NULL character.
- ********************************************************************************/
- enum {
- kOTCfgRemoteMaxPasswordLength = 255,
- kOTCfgRemoteMaxPasswordSize = (255 + 1),
- kOTCfgRemoteMaxUserNameLength = 255,
- kOTCfgRemoteMaxUserNameSize = (255 + 1),
- kOTCfgRemoteMaxAddressLength = 255, /* kOTCfgRemoteMaxAddressSize = (255 + 1),*/
- kOTCfgRemoteMaxServerNameLength = 32,
- kOTCfgRemoteMaxServerNameSize = (32 + 1),
- kOTCfgRemoteMaxMessageLength = 255,
- kOTCfgRemoteMaxMessageSize = (255 + 1),
- kOTCfgRemoteMaxX25ClosedUserGroupLength = 4,
- kOTCfgRemoteInfiniteSeconds = (long)0xFFFFFFFF,
- kOTCfgRemoteMinReminderMinutes = 1,
- kOTCfgRemoteChatScriptFileCreator = FOUR_CHAR_CODE('ttxt'),
- kOTCfgRemoteChatScriptFileType = FOUR_CHAR_CODE('TEXT'),
- kOTCfgRemoteMaxChatScriptLength = 0x8000
- };
- /*******************************************************************************
- * X.25 connection information, added to OTCfgRemoteConnect's additional info list.
- *
- * NOTE
- *
- * All OTCfgRemoteConnect::additional structures MUST have the same fields up to
- * the "additional" field. See OTCfgRemoteScript & OTCfgRemoteDialing.
- ********************************************************************************/
- struct OTCfgRemoteX25Info {
- UInt32 version;
- UInt32 fType; /* kRAConnectAdditionalX25*/
- void * additional; /* Ptr to additional connect info*/
- FSSpec script; /* PAD's CCL script*/
- UInt8 address[256]; /* address of server*/
- UInt8 userName[256];
- /* network user ID*/
- UInt8 closedUserGroup[5];
- /* closed user group*/
- Boolean reverseCharge; /* request reverse charging*/
- };
- typedef struct OTCfgRemoteX25Info OTCfgRemoteX25Info;
- /*******************************************************************************
- * OTCfgRemoteDisconnect
- *
- * Use this structure to terminate Remote Access connections.
- ********************************************************************************/
- struct OTCfgRemoteDisconnect {
- UInt32 whenSeconds; /* Number of seconds until disconnect*/
- UInt32 showStatus; /* Show disconnect status window*/
- };
- typedef struct OTCfgRemoteDisconnect OTCfgRemoteDisconnect;
- /*******************************************************************************
- * OTCfgRemoteIsRemote
- *
- * Use this structure to find out if an AppleTalk address is on the
- * remote side of the current ARA link. The "isRemote" field is set to
- * "true" if the address is remote.
- ********************************************************************************/
- struct OTCfgRemoteIsRemote {
- UInt32 net; /* AppleTalk network number*/
- UInt32 node; /* AppleTalk node number*/
- UInt32 isRemote; /* returned.*/
- };
- typedef struct OTCfgRemoteIsRemote OTCfgRemoteIsRemote;
- /*******************************************************************************
- * OTCfgRemoteConnect
- *
- * Use this structure to initiate Remote Access connections.
- ********************************************************************************/
- struct OTCfgRemoteConnect {
- UInt32 version;
- UInt32 fType; /* RAConnectType defined above.*/
- UInt32 isGuest; /* (boolean) True for guest login*/
- UInt32 canInteract; /* (boolean) True if dialogs can be displayed*/
- UInt32 showStatus; /* (boolean) Display (dis)connection status dialogs?*/
- UInt32 passwordSaved; /* (boolean) "Save Password" checked in doc.*/
- UInt32 flashConnectedIcon; /* (boolean) Flash icon in menu bar*/
- UInt32 issueConnectedReminders; /* (boolean) Use Notification Manager reminders*/
- SInt32 reminderMinutes; /* How long between each reminder?*/
- UInt32 connectManually; /* (boolean) True if we are connecting manually*/
- UInt32 allowModemDataCompression; /* (boolean) currently, only for kSerialProtoPPP*/
- UInt32 chatMode; /* Flags defined above*/
- UInt32 serialProtocolMode; /* Flags defined above*/
- UInt8 * password;
- UInt8 * userName;
- UInt32 addressLength; /* Length of phone number or other address*/
- UInt8 * address; /* Phone number or address data*/
- Str63 chatScriptName; /* Name of imported chat script (informational only)*/
- UInt32 chatScriptLength; /* Length of Chat script*/
- UInt8 * chatScript; /* Chat script data*/
- void * additional; /* Ptr to additional connect info,*/
- /* such as OTCfgRemoteX25Info*/
- UInt32 useSecurityModule; /* (boolean) use line-level security module ?*/
- OSType securitySignature; /* signature of security module file*/
- UInt32 securityDataLength; /* 0..kSecurityMaxConfigData*/
- UInt8 * securityData; /* Ptr to data of size securityDataLength*/
- };
- typedef struct OTCfgRemoteConnect OTCfgRemoteConnect;
- /*******************************************************************************
- * OTCfgRemoteConnectInfo
- *
- * If requestCode = kRAGetConnectInfo, "connectInfo" returns a pointer to a
- * new OTCfgRemoteConnect block that describes the current connection.
- *
- * If requestCode = kRADisposeConnectInfo, the memory pointed to by
- * "connectInfo" is released for reuse. "connectInfo" must point to a valid
- * OTCfgRemoteConnect structure previously returned by kRAGetConnectInfo.
- ********************************************************************************/
- struct OTCfgRemoteConnectInfo {
- OTCfgRemoteConnect * connectInfo; /* Returned or disposed, depending on requestCode*/
- };
- typedef struct OTCfgRemoteConnectInfo OTCfgRemoteConnectInfo;
- /*******************************************************************************
- * OTCfgRemoteStatus
- *
- * Use this structure to get the status of Remote Access connections.
- ********************************************************************************/
- enum {
- kOTCfgRemoteStatusIdle = 1,
- kOTCfgRemoteStatusConnecting = 2,
- kOTCfgRemoteStatusConnected = 3,
- kOTCfgRemoteStatusDisconnecting = 4
- };
- struct OTCfgRemoteStatus {
- UInt32 status; /* values defined above*/
- Boolean answerEnabled;
- char pad00; /* This structure is NOT packed*/
- UInt32 secondsConnected;
- UInt32 secondsRemaining;
- UInt8 userName[256]; /* Pascal format*/
- UInt8 serverName[33]; /* Pascal format*/
- char pad01; /* This structure is NOT packed*/
- UInt32 messageIndex;
- UInt8 message[256]; /* Pascal format*/
- UInt32 serialProtocolMode; /* Flags defined above.*/
- UInt8 baudMessage[256]; /* Pascal format*/
- Boolean isServer;
- char pad02; /* This structure is NOT packed*/
- UInt32 bytesIn;
- UInt32 bytesOut;
- UInt32 linkSpeed;
- UInt32 localIPAddress;
- UInt32 remoteIPAddress;
- };
- typedef struct OTCfgRemoteStatus OTCfgRemoteStatus;
- /*******************************************************************************
- * OTCfgRemoteUserMessage
- *
- * Use this structure when converting result codes into user messages.
- ********************************************************************************/
- struct OTCfgRemoteUserMessage {
- UInt32 version;
- SInt32 messageID;
- UInt8 userMessage[256];
- UInt8 userDiagnostic[256];
- };
- typedef struct OTCfgRemoteUserMessage OTCfgRemoteUserMessage;
- /*******************************************************************************
- * OTCfgRemoteNotifier
- *
- * Use this structure to install a procedure to receive asynchronous
- * Remote Access notifications.
- ********************************************************************************/
- typedef UInt32 OTCfgRemoteEventCode;
- typedef CALLBACK_API_C( void , RANotifyProcPtr )(void *contextPtr, OTCfgRemoteEventCode code, OSStatus result, void *cookie);
- struct OTCfgRemoteNotifier {
- RANotifyProcPtr procPtr;
- void * contextPtr;
- };
- typedef struct OTCfgRemoteNotifier OTCfgRemoteNotifier;
- /*******************************************************************************
- * OTCfgRemoteRequest
- *
- * All Remote Access API calls must pass a pointer to an OTCfgRemoteRequest structure.
- ********************************************************************************/
- struct OTCfgRemoteRequest {
- SInt8 reserved1[16]; /* Do not use. */
- OSErr result; /* <--*/
- SInt8 reserved2[8]; /* Do not use.*/
- SInt16 requestCode; /* -->*/
- SInt16 portId; /* <-->*/
- union {
- OTCfgRemoteNotifier Notifier;
- OTCfgRemoteConnect Connect;
- OTCfgRemoteDisconnect Disconnect;
- OTCfgRemoteStatus Status;
- OTCfgRemoteIsRemote IsRemote;
- OTCfgRemoteConnectInfo ConnectInfo;
- } fType;
- };
- typedef struct OTCfgRemoteRequest OTCfgRemoteRequest;
- struct OTCfgRemoteConfigCAPT {
- UInt32 fWord1;
- Point fWindowPosition;
- UInt32 fWord3;
- UInt32 fUserLevel;
- UInt32 fSetupVisible;
- };
- typedef struct OTCfgRemoteConfigCAPT OTCfgRemoteConfigCAPT;
- #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 /* __NETWORKSETUP__ */