123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- {$MACRO ON}
- (******************************************************************************
- *
- * Copyright (c) 1994-2000 Palm, Inc. or its subsidiaries.
- * All rights reserved.
- *
- * File: ErrorMgr.h
- *
- * Release: Palm OS SDK 4.0 (63220)
- *
- * Description:
- * Include file for Error Management that depend on ERROR_CHECK_LEVEL
- * All the rest of the old ErrorMgr.h is in ErrorBase.h
- *
- * History:
- * 10/25/94 RM - Created by Ron Marianetti
- * 10/9/98 Bob - Fill in all macros, fix defns w/ do{}while(0)
- * 7/21/99 Bob - split invariant stuff out into ErrorBase.h
- * 12/23/99 jmp Fix <> vs. "" problem.
- *
- *****************************************************************************)
- unit exgmgr;
- interface
- uses palmos, coretraps, errorbase, datamgr;
- const
- exgMemError = exgErrorClass or 1;
- exgErrStackInit = exgErrorClass or 2; // stack could not initialize
- exgErrUserCancel = exgErrorClass or 3;
- exgErrNoReceiver = exgErrorClass or 4; // receiver device not found
- exgErrNoKnownTarget = exgErrorClass or 5; // can't find a target app
- exgErrTargetMissing = exgErrorClass or 6; // target app is known but missing
- exgErrNotAllowed = exgErrorClass or 7; // operation not allowed
- exgErrBadData = exgErrorClass or 8; // internal data was not valid
- exgErrAppError = exgErrorClass or 9; // generic application error
- exgErrUnknown = exgErrorClass or 10; // unknown general error
- exgErrDeviceFull = exgErrorClass or 11; // device is full
- exgErrDisconnected = exgErrorClass or 12; // link disconnected
- exgErrNotFound = exgErrorClass or 13; // requested object not found
- exgErrBadParam = exgErrorClass or 14; // bad parameter to call
- exgErrNotSupported = exgErrorClass or 15; // operation not supported by this library
- exgErrDeviceBusy = exgErrorClass or 16; // device is busy
- exgErrBadLibrary = exgErrorClass or 17; // bad or missing ExgLibrary
- type
- ExgGoToType = record
- dbCardNo: UInt16; // card number of the database
- dbID: LocalID; // LocalID of the database
- recordNum: UInt16; // index of record that contain a match
- uniqueID: UInt32; // postion in record of the match.
- matchCustom: UInt32; // application specific info
- end;
- ExgGoToPtr = ^ExgGoToType;
- ExgSocketType = record
- libraryRef: UInt16; // identifies the Exg library in use
- socketRef: UInt32; // used by Exg library to identify this connection
- target: UInt32; // Creator ID of application this is sent to
- count: UInt32; // # of objects in this connection (usually 1)
- length: UInt32; // # total byte count for all objects being sent (optional)
- time: UInt32; // last modified time of object (optional)
- appData: UInt32; // application specific info
- goToCreator: UInt32; // creator ID of app to launch with goto after receive
- goToParams: ExgGoToType; // If launchCreator then this contains goto find info
- bits: UInt16;
- {
- UInt16 localMode:1; // Exchange with local machine only mode
- UInt16 packetMode:1; // Use connectionless packet mode (Ultra)
- UInt16 noGoTo:1; // Do not go to app (local mode only)
- UInt16 noStatus:1; // Do not display status dialogs
- UInt16 reserved:12; // reserved system flags
- }
- description: PChar; // text description of object (for user)
- type_: PChar; // Mime type of object (optional)
- name: PChar; // name of object, generally a file name (optional)
- end;
- ExgSocketPtr = ^ExgSocketType;
- // structures used for sysAppLaunchCmdExgAskUser launch code parameter
- // default is exgAskDialog (ask user with dialog...
- type
- ExgAskResultType = Enum;
- const
- exgAskDialog = 0;
- exgAskOk = Succ(exgAskDialog);
- exgAskCancel = Succ(exgAskOk);
- type
- ExgAskParamType = record
- socketP: ExgSocketPtr;
- result: ExgAskResultType; // what to do with dialog
- reserved: UInt8;
- end;
- ExgAskParamPtr = ^ExgAskParamType;
- // Optional parameter structure used with ExgDoDialog for category control
- ExgDialogInfoType = record
- version: UInt16; // version of this structure (should be zero)
- db: DmOpenRef; // open database ref (for category information)
- categoryIndex: UInt16; // index of selected category
- end;
- const
- exgSeparatorChar = #9; // '\t' char used to separate multiple registry entries
- exgRegLibraryID = $fffc; // library register thier presence
- exgRegExtensionID = $fffd; // filename extenstion registry
- exgRegTypeID = $fffe; // MIME type registry
- exgDataPrefVersion = 0;
- exgMaxTitleLen = 20; // max size for title from exgLibCtlGetTitle
- exgLibCtlGetTitle = 1; // get title for Exg dialogs
- exgLibCtlSpecificOp = $8000; // start of range for library specific control codes
- type
- ExgDBReadProc = function(dataP: Pointer; var sizeP: UInt32; userDataP: Pointer): Err;
- ExgDBDeleteProc = function(const nameP: PChar; version, cardNo: UInt16; dbID: LocalID; userDataP: Pointer): Boolean;
- ExgDBWriteProc = function(const dataP: Pointer; var sizeP: UInt32; userDataP: Pointer): Err;
- function ExgInit: Err; syscall sysTrapExgInit;
- function ExgConnect(socketP: ExgSocketPtr): Err; syscall sysTrapExgConnect;
- function ExgPut(socketP: ExgSocketPtr): Err; syscall sysTrapExgPut;
- function ExgGet(socketP: ExgSocketPtr): Err; syscall sysTrapExgGet;
- function ExgAccept(socketP: ExgSocketPtr): Err; syscall sysTrapExgAccept;
- function ExgDisconnect(socketP: ExgSocketPtr; error: Err): Err; syscall sysTrapExgDisconnect;
- function ExgSend(socketP: ExgSocketPtr; const bufP: Pointer; const bufLen: UInt32; var err: Err): UInt32; syscall sysTrapExgSend;
- function ExgReceive(socketP: ExgSocketPtr; bufP: Pointer; const bufLen: UInt32; var err: Err): UInt32; syscall sysTrapExgReceive;
- function ExgRegisterData(const creatorID: UInt32; const id: UInt16; const dataTypesP: PChar): Err; syscall sysTrapExgRegisterData;
- function ExgNotifyReceive(socketP: ExgSocketPtr): Err; syscall sysTrapExgNotifyReceive;
- function ExgDBRead(readProcP: ExgDBReadProc; deleteProcP: ExgDBDeleteProc;
- userDataP: Pointer; var dbIDP: LocalID; cardNo: UInt16;
- var needResetP: Boolean; keepDates: Boolean): Err; syscall sysTrapExgDBRead;
- function ExgDBWrite(writeProcP: ExgDBWriteProc;
- userDataP: Pointer; const nameP: PChar; dbID: LocalID; cardNo: UInt16): Err; syscall sysTrapExgDBWrite;
- function ExgDoDialog(socketP: ExgSocketPtr; var infoP: ExgDialogInfoType; var errP: Err): Boolean; syscall sysTrapExgDoDialog;
- implementation
- end.
|