DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦eefa35024⟧ TextFile

    Length: 9622 (0x2596)
    Types: TextFile
    Names: »TYPE.I«

Derivation

└─⟦8c095a7f3⟧ Bits:30005798 CR80 Disc Pack ( Vol ILS systemdisk XAMOS TOS 10:01 hard boot #43c 19-7-87/JFJ )
    └─ ⟦this⟧ »PREFIXES.D!XAMOS.D!BCS.D!V0201.D!SWELL.D!TYPE.I« 
    └─ ⟦this⟧ »PREFIXES.D!XAMOS.D!BCS.D!V0202.D!SWELL.D!TYPE.I« 
    └─ ⟦this⟧ »PREFIXES.D!XAMOS.D!BCS.D!V02CT.D!SWELL.D!TYPE.I« 
└─⟦c2e810e96⟧ Bits:30005799 CR80 Disc Pack ( XAMOS 841129 ILS TOS 10-01 System Disk Tilhører ILS/MSG hard boot boot entry #43c )
    └─ ⟦this⟧ »PREFIXES.D!XAMOS.D!BCS.D!V0201.D!SWELL.D!TYPE.I« 
    └─ ⟦this⟧ »PREFIXES.D!XAMOS.D!BCS.D!V0202.D!SWELL.D!TYPE.I« 
    └─ ⟦this⟧ »PREFIXES.D!XAMOS.D!BCS.D!V02CT.D!SWELL.D!TYPE.I« 

TextFile

"-----------------------------------------------------------------------
"
"  PROJECT:          CD-DED
"
"  MODULE NAME:      BASIC COMMUNICATION SERVICE INTERFACE
"  MODULE ID NMB:    CD/2008
"  MODULE TYPE:      PREFIX
"  MODULE FILES:     TYPE.I
"  PREFIX FILES:     GENERALPARAMS
"                    IOSPARAMS
"  SPECIFICATIONS:   CD-DED/PSP/0001
"  AUTHOR/DATE:      JKK/PHC/PJA/840309
"
"  DELIVERABLE:      YES
"  SOURCE LANGUAGE:  CR80 SWELL
"  COMPILE COMPUTER: CR80 M
"  TARGET COMPUTER:  CR80 M/CR80 MX
"  OPER. SYSTEM:     XAMOS/MXAMOS
"
"-----------------------------------------------------------------------
"
"  CHANGE RECORD
"
"  VERSION     AUTHOR/DATE            DESCRIPTION OF CHANGE
"  -------     -----------            ---------------------
"   0101       JKK/PHC/PJA/840309     INITIAL SUBMITTAL TO CD_SCL
"
"   0201       JKK/840807             INCLUDING BCS EVENTS:
"                                       'BCS_POOL_NOT_CREATED'
"                                     INCLUDING BCS ERROR CODE:
"                                       'BCS_QUEUE_NOT_INTERN'
"                                     NEW FUNCTIONS:
"                                       'DISPOSE_BUFFER'
"                                       'SET_MULTI_SERVER_PHASE'
"                                       'MULTI_WAIT_IO'
"
"                                     BCS EVENT MASK FACILITY INCLUDED
"                                     IN 'BCS_EVENT_INFO'
"
"-----------------------------------------------------------------------
CONST
   ANY_QUEUE = #FFFF;

TYPE

   BCS_FUNCTIONS = ( LOGON,
                     LOGOFF,

                     WAIT,
                     WAIT_EVENTS,
                     WAIT_EVENTS_IO,
                     MULTI_WAIT_IO,

                     DEFINE_QUEUE,
                     DEFINE_PRIVATE_QUEUE,
                     REQUEST_QUEUE,
                     SET_PRIORITY,
                     REMOVE_QUEUE,
                     TEST_QUEUE,

                     SEND_MESSAGE,
                     CREATE_MESSAGE,
                     DISPOSE_MESSAGE,
                     RETURN_MESSAGE,
                     COPY_MESSAGE,

                     WRITE_BLOCK,
                     READ_BLOCK,
                     PUT_HEADER,
                     GET_HEADER,
                     PUT_TRAILER,
                     GET_TRAILER,
                     SET_POSITION,

                     JOIN,
                     SPLIT,

                     ALLOCATE_BUFFER,
                     DISPOSE_BUFFER,
                     CONNECT_BUFFER,
                     GET_NEXT_BUFFER,

                     CREATE_POOL,
                     REMOVE_POOL,
                     TEST_POOL,
                     SET_TIMER,
                     SET_MULTI_SERVER_PHASE );

CONST

     "************************"
     "     BCS ERROR CODES    "
     "************************"

   BCS_OK                  = 0;
   BCS_END_OF_MESSAGE      = #3001;
   BCS_ILLEGAL_POOL        = #3002;
   BCS_BUFFER_SHORTAGE     = #3003;
   BCS_ILLEGAL_LQR         = #3004;
   BCS_POOL_SHORTAGE       = #3005;
   BCS_MESSAGE_SHORTAGE    = #3006;
   BCS_ILLEGAL_SUBQUEUE    = #3007;
   BCS_XTRA_SHORTAGE       = #3008;
   BCS_LOGON_ERROR         = #3009;
   BCS_ILLEGAL_NAME        = #300A;
   BCS_ILLEGAL_MESSAGE     = #300B;
   BCS_UNKNOWN_QUEUE       = #300C;
   BCS_MEMORY_SHORTAGE     = #300D;
   BCS_ILLEGAL_PRIORITY    = #300E;
   BCS_ILLEGAL_OPERATION   = #300F;
   BCS_ILLEGAL_BUFFER      = #3010;
   BCS_ILLEGAL_PARAMETER   = #3011;
   BCS_MESSAGE_CORRUPTED   = #3012;
   BCS_MESSAGE_EMPTY       = #3013;
   BCS_THRESHOLD_REACHED   = #3014;
   BCS_UNKNOWN_FUNCTION    = #3015;
   BCS_QUEUE_NOT_INTERN    = #3016;

TYPE

   BCS_RESULT = INTEGER;

   BCS_EVENT_TYPE = ( BCS_POOL_ERROR,
                      BCS_QUEUE_NOT_DEFINED,
                      BCS_POOL_NOT_CREATED,
                      BCS_QUEUE_CLOSED,
                      BCS_POOL_CLOSED,
                      BCS_QUEUE_DEFINED,
                      BCS_POOL_CREATED,
                      BCS_MESSAGE_CREATED,
                      BCS_BUFFERS_AVAILABLE,
                      BCS_BUFFERS_RELEASED,
                      BCS_TIMER,
                      BCS_MESSAGE_RECEIVED,
                      BCS_CALL_ERROR );

CONST
   BM_BCS_POOL_ERROR        = 1 SHIFTLL BCS_POOL_ERROR;
   BM_BCS_QUEUE_CLOSED      = 1 SHIFTLL BCS_QUEUE_CLOSED;
   BM_BCS_QUEUE_NOT_DEFINED = 1 SHIFTLL BCS_QUEUE_NOT_DEFINED;
   BM_BCS_QUEUE_DEFINED     = 1 SHIFTLL BCS_QUEUE_DEFINED;
   BM_BCS_POOL_CREATED      = 1 SHIFTLL BCS_POOL_CREATED;
   BM_BCS_POOL_NOT_CREATED  = 1 SHIFTLL BCS_POOL_NOT_CREATED;
   BM_BCS_POOL_CLOSED       = 1 SHIFTLL BCS_POOL_CLOSED;
   BM_BCS_MESSAGE_CREATED   = 1 SHIFTLL BCS_MESSAGE_CREATED;
   BM_BCS_BUFFERS_AVAILABLE = 1 SHIFTLL BCS_BUFFERS_AVAILABLE;
   BM_BCS_BUFFERS_RELEASED  = 1 SHIFTLL BCS_BUFFERS_RELEASED;
   BM_BCS_TIMER             = 1 SHIFTLL BCS_TIMER;
   BM_BCS_MESSAGE_RECEIVED  = 1 SHIFTLL BCS_MESSAGE_RECEIVED;

TYPE
   BCS_EXIT        = ( FAIL, PASS );

   BCS_WAIT_EVENT_EXIT = ( E_FAIL, E_BCS_EVENT, E_AMOS_EVENT );

   BCS_WAIT_IO_EXIT = ( IO_FAIL, IO_BCS_EVENT, IO_AMOS_EVENT, IO_IO_EVENT );

   BCS_EVENT_CLASS = ( BCS_EVENTS, BCS_AMOS_EVENTS, BCS_IO_EVENTS );

   FILE            = INTEGER;

   EVENT_ID        = INTEGER;

   BLEPTR          = INTEGER;

   LQR_TYPE        = INTEGER;

   BCS_MESSAGE_ID  = INTEGER;

   POOL_ID         = INTEGER;

   QUEUE_TYPE      = ( ACTIVE, STANDBY );

   BCS_RANGE_TYPE  = ( BCS_LOCAL, BCS_GLOBAL );

   SERVER_TYPE     = ( MONO, MULTI );

   ADDR            = INTEGER;

   ABS_ADDR =
      RECORD
         OFFSET : INTEGER;
         PAGE   : INTEGER;
      END;

   BYTE_COUNT = INTEGER;

   WORD_COUNT = INTEGER;

   BCS_SERVICE = ( NO_FLOW, FLOW, FLOW_PLUS );

   POOL_INFO_TYPE =
      RECORD
         ADDR       : ABS_ADDR;
         ALLOCATION : BYTE_COUNT;
      END;

   QUEUE_NAME_TYPE = ARRAY[0..1] OF INTEGER;

   QUEUE_ATTRIBUTES =
      RECORD
         QUEUE_KIND     : QUEUE_TYPE;
         RANGE          : BCS_RANGE_TYPE;
         WINDOW         : INTEGER;
         SERVICE        : BCS_SERVICE;
         SUBQUEUE_NO    : INTEGER;
         PRIORITY_SUB0  : INTEGER;
         SERVER         : SERVER_TYPE;
      END;

   QUEUE_INFO_TYPE =
      RECORD
         SERVICE       : BCS_SERVICE;
         SUBQUEUE_NO   : INTEGER;
         WINDOW        : INTEGER;
      END;

   SEND_INFO_TYPE =
      RECORD
         THRESHOLD   : INTEGER;
         POOL        : POOL_ID;
         HEADER      : ADDR;
         HEADER_SIZE : BYTE_COUNT;
      END;

   BCS_WAIT_IO_TYPE = ( WAIT_OPS, WAIT_MULTI );

   ABSOLUTELY_NOTHING = INTEGER;

   BCS_EVENT_INFO =
      RECORD
         HEADER         : ADDR;
         HEADER_SIZE    : BYTE_COUNT;
         QUEUE          : LQR_TYPE;
         PRIORITY       : INTEGER;
         BCS_EVENT_MASK : INTEGER;
         CLASS          : BCS_EVENT_CLASS;
"        CASE CLASS OF                                 "
         VARIANTS : ( BCS_EVENT      : BCS_EVENT_TYPE;
                      VARIANTS : "CASE BCS_EVENT : BCS_EVENT_TYPE OF
                         "BCS_POOL_CREATED,
                         "BCS_POOL_CLOSED,
                         "BCS_BUFFERS_AVAILABLE,"
                         "BCS_POOL_ERROR:"        ( POOL         : POOL_ID;
                                                    FREE_BUFFERS : INTEGER ) !
                         "BCS_QUEUE_CLOSED,
                         "BCS_QUEUE_NOT_DEFINED:" ( JUST_TO_SATISFY_THE_BLOODY_SWELL_COMPILER : ABSOLUTELY_NOTHING ) !
                         "BCS_QUEUE_DEFINED:"     ( QUEUE_INFO : QUEUE_INFO_TYPE ) !
                         "BCS_MESSAGE_CREATED:"   ( AVL_MESSAGE : BCS_MESSAGE_ID ) !
                         "BCS_BUFFERS_RELEASED:"  ( NO_OF_BUFFERS : INTEGER ) !
                         "BCS_TIMER:"             ( TIMER : INTEGER ) !
                         "BCS_MESSAGE_RECEIVED:"  ( SUB_QUEUE      : INTEGER;
                                                    MESSAGE        : BCS_MESSAGE_ID;
                                                    MESSAGE_LENGTH : BYTE_COUNT;
                                                    NO_OF_MESSAGES : INTEGER ) !
                         "BCS_CALL_ERROR:"        ( READ_THE_BCS_MANUAL_TO_AVOID_THIS_EVENT : ABSOLUTELY_NOTHING )
                      END ) !
                    ( EVTTYPE      : EVENT_TYPE;
                      EVENT_ID     : EVENT;
                      AMOS_MESSAGE : MESSAGE_BUFFER ) !
                    ( WAIT_OP      : BCS_WAIT_IO_TYPE;
"                     CASE WAIT_OP : BCS_WAIT_IO_TYPE OF"
                      VARIANTS: "WAIT_OPS:"  ( FAD   : ADDR;
                                               BLE   : BLEPTR;
                                               OPREF : INTEGER;
                                               FD    : FILE;
                                               IO_CC : COMPLETION_CODE        ) !
                               "WAIT_MULTI:" ( M_FAD        : ADDR;
                                               M_SAD        : ADDR;
                                               M_BLE        : BLEPTR;
                                               M_OPREF      : INTEGER;
                                               M_FD         : FILE;
                                               M_S_FD       : FILE;
                                               M_F_INF      : LONG;
                                               M_USER_OP_ID : INTEGER;
                                               M_IO_CC      : COMPLETION_CODE  )
                      END )
         END;
      END; ▶ff◀