Browse Source

Common renamed apicomm

pierre 25 years ago
parent
commit
fc64463f57
1 changed files with 0 additions and 547 deletions
  1. 0 547
      api/inc/common.pas

+ 0 - 547
api/inc/common.pas

@@ -1,547 +0,0 @@
-{****************************************************************************
-
-   Common types, and definitions
-
-   Copyright (c) 1997 Balazs Scheidler ([email protected])
-
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
- ****************************************************************************
-   $Id$
- ****************************************************************************
-
- Changelog:
-   
-   Common version 0.2.6
-
-   Date       Version  Who     Comments
-   07/12/97   0.1      Bazsi   Initial implementation (bazsi)
-   07/18/97   0.2      Bazsi   Linux specific error codes added
-   07/18/97   0.2.1    Bazsi   Some syntactical errors removed...
-   07/28/97   0.2.2    Bazsi   Base error code for Video registered
-   07/29/97   0.2.3    Bazsi   Some basic types added (PByte, PWord etc)
-   08/08/97   0.2.4    Bazsi   Finalized error handling code (Brad's code added)
-   08/27/97   0.2.5    Bazsi   BP doesn't like function types as return-values
-                               for functions, returning Pointer instead
-   09/06/97   0.2.6    Bazsi   Added base error code for Keyboard
-   11/06/97   0.2.7    Bazsi   Added base error code for FileCtrl
-   
- Todo:
- 
- *  Some types found in the DOS unit should be included here (TextRec maybe 
-    renamed to TTextRec, FileRec etc.)
- *  Other platform specific error codes.
-
- ****************************************************************************}
-unit Common;
-
-interface
-
-{$i platform.inc}
-
-const
-  { Error codes }
-  errOk                 = 0;
-  errVioBase            = 1000;
-  errKbdBase            = 1010;
-  errFileCtrlBase	= 1020;
-  errMouseBase          = 1030;
-  { The following ranges have been defined for error codes:
-     0      - 1000           OS dependent codes
-     1000   - 10000          API reserved codes
-     10000  -                Add-on unit errors 
-    Before anyone adding a unit, contact [email protected] to assign a base
-    error code, to avoid collisions. 
-    
-    The symbolic names of error codes should be defined in the unit which uses
-    those error codes, except for OS dependent ones, which should be defined here
-    enclosed in IFDEFs. (The reason is that not always you can't always decide
-    which error-code belongs to one unit or the other) }
-
-{$IFDEF OS_Linux}
-  { for a more complete description of each error check /usr/include/asm/errno.h }
-  errNotPermitted         =   1;
-  errFileNotFound         =   2;
-  errNoSuchProcess        =   3;
-  errInterruptedCall      =   4;
-  errIOError              =   5;
-  errNoDevAddr            =   6;
-  errTooManyArguments     =   7;
-  errExecError            =   8;
-  errBadFileHandle        =   9;
-  errNoChild              =  10;
-  errTryAgain             =  11;
-  errWouldBlock           =  errTryAgain;
-  errOutOfMemory          =  12;
-  errNoPermission         =  13;
-  errInvalidAddress       =  14;  { Invalid pointer passed to kernel }
-  errNotBlockDev          =  15;
-  errDeviceBusy           =  16;
-  errFileExists           =  17;
-  errCrossDevice          =  18;  
-  errNoSuchDev            =  19;
-  errNotDirectory         =  20;
-  errIsDirectory          =  21;
-  errInvalidArgument      =  22;
-  errFileTableOverflow    =  23;
-  errTooManyOpenFiles     =  24;
-  errNotATTY              =  25;
-  errTextBusy             =  26;
-  errFileTooLarge         =  27;
-  errDiskFull             =  28;
-  errIllegalSeek          =  29;
-  errReadOnlyFS           =  30;
-  errTooManyLinks         =  31;
-  errBrokenPipe		  =  32;
-  errMathDomain           =  33;  { Math domain error, what does this mean? }
-  errMathRange            =  34;  { Math result out of range }
-  errDeadLock             =  35;
-  errFileNameTooLong      =  36;
-  errNoLock               =  37;  { No record locks available }
-  errNotImplemented       =  38;  { Kernel function not implemented }
-  errDirNotEmpty          =  39;
-  errSymlinkLoop          =  40;
-  errNoMessage            =  41;  { ??? maybe the IPC getmsg call returns this }
-  { Here are some errors that are too cryptic for me, I think they are not used
-    under Linux, only on some mainframes (channel errors etc) }
-  errBadFont              =  59;
-  errNotStream            =  60;
-  errNoData               =  61;
-  errTimeOut              =  62;
-  errNoMoreStreams        =  63;
-  errNoNetwork            =  64;
-  errPackageNotInstalled  =  65; { ??? }
-  errRemote               =  66;
-  errSevereLink           =  67;
-  errAdvertise            =  68; { Advertise error??? }
-  errSrMount              =  69;
-  errCommunication        =  70; { Communication error on send? }
-  errProtocol             =  71; { Protocol error }
-  errMuiltiHop            =  72; 
-  errDotDot               =  73; { RFS specific error ???}
-  errBadMessage           =  74; { Not a data message }
-  errOverflow             =  75;
-  errNotUnique            =  76; { Network name not unique }
-  errBadFileHandleState   =  77;
-  errRemoteChange         =  78; { Remote address changed }
-  errLibAccess            =  79; { Cannot access the needed shared lib }
-  errLibCorrupt           =  80; { Shared library corrupted }
-  errLibScn               =  81;
-  errLibTooMany           =  82; { Too many shared libraries }
-  errLibExec              =  83; { Attempting to execute a shared lib }
-  errIllegalSequence      =  84; { Illegal byte sequence ??? }
-  errRestart              =  85; { interrupted system call should be restarted }
-  errStreamPipe           =  86;
-  errTooManyUsers         =  87;
-  errNotSocket            =  88;
-  errDestAddrRequired     =  89;
-  errMessageTooLong       =  90;
-  errProtocolType         =  91;
-  errNoSuchProtocol       =  92;
-  errProtocolNotSupported =  93;
-  errSocketTypeNotSupported = 94;
-  errOperationNotSupported=  95;
-  errPFamilyNotSupported  =  96; { Protocol family not supported }
-  errAFamilyNotSupported  =  97; { Address family not supported }
-  errAddressInUse         =  98;
-  errAddressNotAvailable  =  99;
-  errNetDown              = 100;
-  errNetUnreachable       = 101;
-  errNetReset             = 102;
-  errConnAborted          = 103;
-  errConnReset            = 104;
-  errNoBufs               = 105;
-  errAlreadyConn          = 106;
-  errNotConn              = 107;
-  errShutdown             = 108;
-  errTooManyRefs          = 109;
-  errConnTimeOut          = 110;
-  errConnRefused          = 111;
-  errHostDown             = 112;
-  errNoRoute              = 113; { No route to host }
-  errOperationProgress    = 114; { Operation already in progress }
-  errStaleNFSHandle       = 115;
-  errStrucClean           = 116; { Structure needs cleaning ? }
-  { Xenix specific codes left out }
-  errRemoteIO             = 121;
-  errQuotaExceeded        = 122; 
-{$ENDIF}
-{$IFDEF OS_DOS}
-  { DOS specific error-codes to be added }
-{$ENDIF}
-
-
-
-type
-{$IFDEF BIT_32}
-  CPUWord = Longint;
-  CPUInt = Longint;
-{$ELSE}
-  CPUWord = Word;
-  CPUInt = Integer;
-{$ENDIF}
-
-  PByte = ^Byte;
-  PWord = ^Word;
-  PLongint = ^Longint;
-
-{ This code is taken from Brad Williams code, with some modifications }
-type
-  TErrorHandlerReturnValue = (errRetry, errAbort, errContinue);
-  { errRetry = retry the operation,
-    errAbort = abort, return error code,
-    errContinue = abort, without returning errorcode }
-
-  TErrorHandler = function (Code: Longint; Info: Pointer): TErrorHandlerReturnValue;
-    { ErrorHandler is the standard procedural interface for all error functions.
-      Info may contain any data type specific to the error code passed to the
-      function. }
-
-function GetErrorCode: Longint;
-{ Returns the last error code, and resets it to 0 (errOK) }
-function GetErrorInfo: Pointer;
-{ Returns the info assigned to the previous error, doesn't reset the value to nil }
-{$IFDEF PPC_BP}
-function SetErrorHandler(AErrorHandler: TErrorHandler): Pointer;
-{$ELSE}
-function SetErrorHandler(AErrorHandler: TErrorHandler): TErrorHandler;
-{$ENDIF}
-{ Sets ErrorHandler to AErrorHandler, and returns the old one }
-function DefaultErrorHandler(AErrorCode: Longint; AErrorInfo: Pointer): TErrorHandlerReturnValue;
-{ Default error handler, simply sets error code, and returns errContinue }
-
-const
-  ErrorCode: Longint = errOk;
-  ErrorInfo: Pointer = nil;
-  ErrorHandler: TErrorHandler = DefaultErrorHandler;
-
-implementation
-
-function GetErrorCode: Longint;
-begin
-  GetErrorCode := ErrorCode;
-  ErrorCode := 0;
-end;
-
-function GetErrorInfo: Pointer;
-begin
-  GetErrorInfo := ErrorInfo;
-end;
-
-{$IFDEF PPC_BP}
-function SetErrorHandler(AErrorHandler: TErrorHandler): Pointer;
-begin
-  SetErrorHandler := @ErrorHandler;
-  ErrorHandler := AErrorHandler;
-end;
-{$ELSE}
-function SetErrorHandler(AErrorHandler: TErrorHandler): TErrorHandler;
-begin
-  SetErrorHandler := ErrorHandler;
-  ErrorHandler := AErrorHandler;
-end;
-{$ENDIF}
-
-function DefaultErrorHandler(AErrorCode: Longint; AErrorInfo: Pointer): TErrorHandlerReturnValue;
-begin
-  ErrorCode := AErrorCode;
-  ErrorInfo := AErrorInfo;
-  DefaultErrorHandler := errAbort; { return error code }
-end;
-
-end.
-{
-   $Id$
-
-   Common types, and definitions
-
-   Copyright (c) 1997 Balazs Scheidler ([email protected])
-
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
- ****************************************************************************
-
- Todo:
-
- *  Some types found in the DOS unit should be included here (TextRec maybe
-    renamed to TTextRec, FileRec etc.)
- *  Other platform specific error codes.
-
- ****************************************************************************}
-unit Common;
-
-interface
-
-{$i platform.inc}
-
-const
-  { Error codes }
-  errOk                 = 0;
-  errVioBase            = 1000;
-  errKbdBase            = 1010;
-  errFileCtrlBase       = 1020;
-  { The following ranges have been defined for error codes:
-     0      - 1000           OS dependent codes
-     1000   - 10000          API reserved codes
-     10000  -                Add-on unit errors
-    Before anyone adding a unit, contact [email protected] to assign a base
-    error code, to avoid collisions.
-
-    The symbolic names of error codes should be defined in the unit which uses
-    those error codes, except for OS dependent ones, which should be defined here
-    enclosed in IFDEFs. (The reason is that not always you can't always decide
-    which error-code belongs to one unit or the other) }
-
-{$IFDEF OS_Linux}
-  { for a more complete description of each error check /usr/include/asm/errno.h }
-  errNotPermitted         =   1;
-  errFileNotFound         =   2;
-  errNoSuchProcess        =   3;
-  errInterruptedCall      =   4;
-  errIOError              =   5;
-  errNoDevAddr            =   6;
-  errTooManyArguments     =   7;
-  errExecError            =   8;
-  errBadFileHandle        =   9;
-  errNoChild              =  10;
-  errTryAgain             =  11;
-  errWouldBlock           =  errTryAgain;
-  errOutOfMemory          =  12;
-  errNoPermission         =  13;
-  errInvalidAddress       =  14;  { Invalid pointer passed to kernel }
-  errNotBlockDev          =  15;
-  errDeviceBusy           =  16;
-  errFileExists           =  17;
-  errCrossDevice          =  18;
-  errNoSuchDev            =  19;
-  errNotDirectory         =  20;
-  errIsDirectory          =  21;
-  errInvalidArgument      =  22;
-  errFileTableOverflow    =  23;
-  errTooManyOpenFiles     =  24;
-  errNotATTY              =  25;
-  errTextBusy             =  26;
-  errFileTooLarge         =  27;
-  errDiskFull             =  28;
-  errIllegalSeek          =  29;
-  errReadOnlyFS           =  30;
-  errTooManyLinks         =  31;
-  errBrokenPipe           =  32;
-  errMathDomain           =  33;  { Math domain error, what does this mean? }
-  errMathRange            =  34;  { Math result out of range }
-  errDeadLock             =  35;
-  errFileNameTooLong      =  36;
-  errNoLock               =  37;  { No record locks available }
-  errNotImplemented       =  38;  { Kernel function not implemented }
-  errDirNotEmpty          =  39;
-  errSymlinkLoop          =  40;
-  errNoMessage            =  41;  { ??? maybe the IPC getmsg call returns this }
-  { Here are some errors that are too cryptic for me, I think they are not used
-    under Linux, only on some mainframes (channel errors etc) }
-  errBadFont              =  59;
-  errNotStream            =  60;
-  errNoData               =  61;
-  errTimeOut              =  62;
-  errNoMoreStreams        =  63;
-  errNoNetwork            =  64;
-  errPackageNotInstalled  =  65; { ??? }
-  errRemote               =  66;
-  errSevereLink           =  67;
-  errAdvertise            =  68; { Advertise error??? }
-  errSrMount              =  69;
-  errCommunication        =  70; { Communication error on send? }
-  errProtocol             =  71; { Protocol error }
-  errMuiltiHop            =  72;
-  errDotDot               =  73; { RFS specific error ???}
-  errBadMessage           =  74; { Not a data message }
-  errOverflow             =  75;
-  errNotUnique            =  76; { Network name not unique }
-  errBadFileHandleState   =  77;
-  errRemoteChange         =  78; { Remote address changed }
-  errLibAccess            =  79; { Cannot access the needed shared lib }
-  errLibCorrupt           =  80; { Shared library corrupted }
-  errLibScn               =  81;
-  errLibTooMany           =  82; { Too many shared libraries }
-  errLibExec              =  83; { Attempting to execute a shared lib }
-  errIllegalSequence      =  84; { Illegal byte sequence ??? }
-  errRestart              =  85; { interrupted system call should be restarted }
-  errStreamPipe           =  86;
-  errTooManyUsers         =  87;
-  errNotSocket            =  88;
-  errDestAddrRequired     =  89;
-  errMessageTooLong       =  90;
-  errProtocolType         =  91;
-  errNoSuchProtocol       =  92;
-  errProtocolNotSupported =  93;
-  errSocketTypeNotSupported = 94;
-  errOperationNotSupported=  95;
-  errPFamilyNotSupported  =  96; { Protocol family not supported }
-  errAFamilyNotSupported  =  97; { Address family not supported }
-  errAddressInUse         =  98;
-  errAddressNotAvailable  =  99;
-  errNetDown              = 100;
-  errNetUnreachable       = 101;
-  errNetReset             = 102;
-  errConnAborted          = 103;
-  errConnReset            = 104;
-  errNoBufs               = 105;
-  errAlreadyConn          = 106;
-  errNotConn              = 107;
-  errShutdown             = 108;
-  errTooManyRefs          = 109;
-  errConnTimeOut          = 110;
-  errConnRefused          = 111;
-  errHostDown             = 112;
-  errNoRoute              = 113; { No route to host }
-  errOperationProgress    = 114; { Operation already in progress }
-  errStaleNFSHandle       = 115;
-  errStrucClean           = 116; { Structure needs cleaning ? }
-  { Xenix specific codes left out }
-  errRemoteIO             = 121;
-  errQuotaExceeded        = 122;
-{$ENDIF}
-{$IFDEF OS_DOS}
-  { DOS specific error-codes to be added }
-{$ENDIF}
-
-
-
-type
-{$IFDEF BIT_32}
-  CPUWord = Longint;
-  CPUInt = Longint;
-{$ELSE}
-  CPUWord = Word;
-  CPUInt = Integer;
-{$ENDIF}
-
-  PByte = ^Byte;
-  PWord = ^Word;
-  PLongint = ^Longint;
-
-{ This code is taken from Brad Williams code, with some modifications }
-type
-  TErrorHandlerReturnValue = (errRetry, errAbort, errContinue);
-  { errRetry = retry the operation,
-    errAbort = abort, return error code,
-    errContinue = abort, without returning errorcode }
-
-  TErrorHandler = function (Code: Longint; Info: Pointer): TErrorHandlerReturnValue;
-    { ErrorHandler is the standard procedural interface for all error functions.
-      Info may contain any data type specific to the error code passed to the
-      function. }
-
-function GetErrorCode: Longint;
-{ Returns the last error code, and resets it to 0 (errOK) }
-function GetErrorInfo: Pointer;
-{ Returns the info assigned to the previous error, doesn't reset the value to nil }
-{$IFDEF PPC_BP}
-function SetErrorHandler(AErrorHandler: TErrorHandler): Pointer;
-{$ELSE}
-function SetErrorHandler(AErrorHandler: TErrorHandler): TErrorHandler;
-{$ENDIF}
-{ Sets ErrorHandler to AErrorHandler, and returns the old one }
-function DefaultErrorHandler(AErrorCode: Longint; AErrorInfo: Pointer): TErrorHandlerReturnValue;
-{ Default error handler, simply sets error code, and returns errContinue }
-
-const
-  ErrorCode: Longint = errOk;
-  ErrorInfo: Pointer = nil;
-  ErrorHandler: TErrorHandler = DefaultErrorHandler;
-
-implementation
-
-function GetErrorCode: Longint;
-begin
-  GetErrorCode := ErrorCode;
-  ErrorCode := 0;
-end;
-
-function GetErrorInfo: Pointer;
-begin
-  GetErrorInfo := ErrorInfo;
-end;
-
-{$IFDEF PPC_BP}
-function SetErrorHandler(AErrorHandler: TErrorHandler): Pointer;
-begin
-  SetErrorHandler := @ErrorHandler;
-  ErrorHandler := AErrorHandler;
-end;
-{$ELSE}
-function SetErrorHandler(AErrorHandler: TErrorHandler): TErrorHandler;
-begin
-  SetErrorHandler := ErrorHandler;
-  ErrorHandler := AErrorHandler;
-end;
-{$ENDIF}
-
-function DefaultErrorHandler(AErrorCode: Longint; AErrorInfo: Pointer): TErrorHandlerReturnValue;
-begin
-  ErrorCode := AErrorCode;
-  ErrorInfo := AErrorInfo;
-  DefaultErrorHandler := errAbort; { return error code }
-end;
-
-end.
-
-{
-  $Log$
-  Revision 1.1  2000-01-06 01:20:31  peter
-    * moved out of packages/ back to topdir
-
-  Revision 1.1  1999/12/23 19:36:47  peter
-    * place unitfiles in target dirs
-
-  Revision 1.1  1999/11/24 23:36:37  peter
-    * moved to packages dir
-
-  Revision 1.1  1998/12/04 12:48:24  peter
-    * moved some dirs
-
-  Revision 1.5  1998/10/28 00:02:05  peter
-    + mouse
-    + video.clearscreen, video.videobufsize
-
-  Revision 1.4  1998/10/26 11:22:48  peter
-    * updates
-
-  
-   Date       Version  Who     Comments
-   07/12/97   0.1      Bazsi   Initial implementation (bazsi)
-   07/18/97   0.2      Bazsi   Linux specific error codes added
-   07/18/97   0.2.1    Bazsi   Some syntactical errors removed...
-   07/28/97   0.2.2    Bazsi   Base error code for Video registered
-   07/29/97   0.2.3    Bazsi   Some basic types added (PByte, PWord etc)
-   08/08/97   0.2.4    Bazsi   Finalized error handling code (Brad's code added)
-   08/27/97   0.2.5    Bazsi   BP doesn't like function types as return-values
-                               for functions, returning Pointer instead
-   09/06/97   0.2.6    Bazsi   Added base error code for Keyboard
-   11/06/97   0.2.7    Bazsi   Added base error code for FileCtrl
-}