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

⟦fc129446e⟧ TextFile

    Length: 9400 (0x24b8)
    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!PASCAL.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!PASCAL.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:     NONE                                               "
"  SPECIFICATIONS:   CD-DED/PSP/0001                                    "
"  AUTHOR/DATE:      JKK/PHC/PJA/840309                                 "
"                                                                       "
"  DELIVERABLE:      YES                                                "
"  SOURCE LANGUAGE:  CR80 PASCAL                                        "
"  COMPILE COMPUTER: CR80 D                                             "
"  TARGET COMPUTER:  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'          "
"                                                                       "
"                                     MASK FACILITY FOR BCS EVENTS      "
"                                     INCLUDED IN 'BCS_EVENT_INFO'      "
"                                                                       "
"                                     IO MULTI WAIT INCLUDED IN         "
"                                    'BCS_EVENT_INFO'.                  "
"-----------------------------------------------------------------------"
CONST
   ANY_QUEUE = #FFFF;

     "************************"
     "     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;
   BM_BCS_QUEUE_CLOSED      = BM_BCS_POOL_ERROR * 2;
   BM_BCS_QUEUE_NOT_DEFINED = BM_BCS_QUEUE_CLOSED * 2;
   BM_BCS_QUEUE_DEFINED     = BM_BCS_QUEUE_NOT_DEFINED * 2;
   BM_BCS_POOL_CREATED      = BM_BCS_QUEUE_DEFINED * 2;
   BM_BCS_POOL_NOT_CREATED  = BM_BCS_POOL_CREATED * 2;
   BM_BCS_POOL_CLOSED       = BM_BCS_POOL_NOT_CREATED * 2;
   BM_BCS_MESSAGE_CREATED   = BM_BCS_POOL_CLOSED * 2;
   BM_BCS_BUFFERS_AVAILABLE = BM_BCS_MESSAGE_CREATED * 2;
   BM_BCS_BUFFERS_RELEASED  = BM_BCS_BUFFERS_AVAILABLE * 2;
   BM_BCS_TIMER             = BM_BCS_BUFFERS_RELEASED * 2;
   BM_BCS_MESSAGE_RECEIVED  = BM_BCS_TIMER * 2;

TYPE
   BCS_EVENT_CLASS = ( BCS_EVENTS, BCS_AMOS_EVENTS, BCS_IO_EVENTS );

   EVENT_ID        = INTEGER;

   EVENT           = 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;

   ABSOLUTELY_NOTHING = 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;

   POOL_INFO_PTR = @POOL_INFO_TYPE;

   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;

   SEND_INFO_PTR = @SEND_INFO_TYPE;

   BCS_WAIT_IO_TYPE = ( WAIT_OPS, WAIT_MULTI );

   BCS_EVENT_INFO =
      RECORD
         HEADER         : ADDR;
         HEADER_SIZE    : BYTE_COUNT;
         QUEUE          : LQR_TYPE;
         PRIORITY       : INTEGER;
         BCS_EVENT_MASK : INTEGER;
         CASE CLASS     : BCS_EVENT_CLASS OF
            BCS_EVENTS     :( 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_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 )
                             );
            BCS_AMOS_EVENTS:( EVTTYPE      : EVENT_TYPE;
                              EVENT_ID     : EVENT;
                              AMOS_MESSAGE : MESSAGE_BUFFER );
            BCS_IO_EVENTS  :( CASE WAIT_OP : BCS_WAIT_IO_TYPE OF
                                 WAIT_OPS    :( FAD   : ADDR;
                                                BLE   : BLEPTR;
                                                OPREF : OPERATION_REFERENCE;
                                                FD    : FILE;
                                                IO_CC : COMPLETION_CODE        );
                                 WAIT_MULTI  :( M_FAD        : ADDR;
                                                M_SAD        : ADDR;
                                                M_BLE        : BLEPTR;
                                                M_OPREF      : OPERATION_REFERENCE;
                                                M_FD         : FILE;
                                                M_S_FD       : FILE;
                                                M_F_INF      : LONG_INTEGER;
                                                M_USER_OP_ID : INTEGER;
                                                M_IO_CC      : COMPLETION_CODE  )
                               )
      END;