DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ M T ┃
Length: 11256 (0x2bf8) Types: TextFile Names: »MSQTI_DEFINITIONS«
└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2 └─ ⟦77aa8350c⟧ »DATA« └─⟦f794ecd1d⟧ └─⟦24d1ddd49⟧ └─⟦this⟧
; ; This assembly file defines the values for invoking ; Message_Queues and Timer operations. ; ; ; Service call names definitions ; ; These names are used in the low level assembler interface to address ; the Message Queue Services via the Message_Qeueue_Globals address in ; register a1.l. ; ; Example: jsr ([Q$Send,a1]) ; Q$Base set 4 Q$Create equ -Q$Base ;'Create_Queue'. ;* Q$Base set Q$Base+4 Q$Delete equ -Q$Base ;'Delete_Queue'. ;* Q$Base set Q$Base+4 Q$Find equ -Q$Base ;'Find_Queue'. ;* Q$Base set Q$Base+4 Q$Length equ -Q$Base ;'Length_of_Queue'. ;* Q$Base set Q$Base+4 Q$Assign equ -Q$Base ;'Assign_Channel'. ;* Q$Base set Q$Base+4 Q$Deass equ -Q$Base ;'Deassign_Channel'. ;* Q$Base set Q$Base+4 Q$NewQAddr equ -Q$Base ;'New_Queue_address'. ;* Q$Base set Q$Base+4 Q$NewCAddr equ -Q$Base ;'New_Channel_Address'. ;* Q$Base set Q$Base+4 Q$Send equ -Q$Base ;'Send_Message'. ;* Q$Base set Q$Base+4 Q$Reserve equ -Q$Base ;'Reserve_Message_Slot'. ;* Q$Base set Q$Base+4 Q$UnRes equ -Q$Base ;'Return_Reserved_Message_Slot'. ;* Q$Base set Q$Base+4 Q$Remove equ -Q$Base ;'Remove_Message'. ;* Q$Base set Q$Base+4 Q$Retriev equ -Q$Base ;'Retrieve_Message'. ;* Q$Base set Q$Base+4 Q$RetChan equ -Q$Base ;'Retrieve_Message_from_Channel'. ;* Q$Base set Q$Base+4 Q$Wait equ -Q$Base ;'Wait_for_Queues'. ;* Q$Base set Q$Base+4 Q$RQuData equ -Q$Base ;'Read_User's_Queue_Data'. ;* Q$Base set Q$Base+4 Q$WQuData equ -Q$Base ;'Write_User's_Queue_Data'. \f ;******************************************************************************* ;* * ;* Message Queue Services return codes. * ;* * ;* These codes are returned from the Message Queues Services in register * ;* d1.w along with a Carry condition code. * ;* * ;******************************************************************************* ;* ;******************************************************************************* ;* * ;* Common error codes. * ;* * ;******************************************************************************* ;* Q$IllQue equ 11 + 16#1000#; 'Illegal queue address'. Q$IllPar equ 12 + 16#1000#; 'Illegal parameter'. Q$InitErr equ 13 + 16#1000#; 'Initiation error'. Q$IllCha equ 14 + 16#1000#; 'Illegal channel address'. Q$NoMess equ 15 + 16#1000#; 'No message for at retrieve or remove'. Q$NotAcc equ 16 + 16#1000#; 'The specified queue was not accessible ;* due to a persistent mutual exclusion ;* lock'. Q$ToMany equ 17 + 16#1000#; 'The maximum number of the specified ;* resource type is already allocated'. Q$InFail equ 18 + 16#1000#; 'Initiation failure'. ;* ;******************************************************************************* ;* * ;* Send_Message specific error codes. * ;* * ;******************************************************************************* ;* Q$Full equ 20 + 16#1000#; 'The maximum number of messages for ;* this channel already in the queue or ;* no reserved slot when sending with ;* qualifier Q$UseRes. Q$NoWait equ 21 + 16#1000#; 'No waiter ready'. Q$TooBig equ 22 + 16#1000#; 'Message too big'. ;* \f ;******************************************************************************* ;* * ;* Retrieve_Message specific error codes. * ;* * ;******************************************************************************* ;* Q$TooSmal equ 31 + 16#1000#; 'Retriever buffer not big enough to ;* hold the maximum size message'. ;* ;******************************************************************************* ;* * ;* Wait_for_Queues specific error codes. * ;* * ;******************************************************************************* ;* Q$MulWait equ 41 + 16#1000#; 'Concurrent wait on the queue'. Q$EmpWs equ 42 + 16#1000#; 'Empty wait set'. Q$QuesEmp equ 43 + 16#1000#; 'All queues empty' when qualifier ;* Q$NonBlk was set. Q$QueDel equ 44 + 16#1000#; 'A queue was deleted while currently ;* waiting for it'. ;* ;******************************************************************************* ; * ;* Create_Queue specific error codes. * ;* * ;******************************************************************************* ;* Q$DubDef equ 51 + 16#1000#; 'Multiply defined queue'. Q$QueSiz equ 52 + 16#1000#; 'Not enough resources (ram, too many ;* queues created etc.) for queue'. ;* ;******************************************************************************** ;* * ;* Delete_Queue specific error codes. * ;* * ;******************************************************************************* ;* Q$NotEmp equ 61 + 16#1000#; 'Queue not empty'. \f ;******************************************************************************* ;* * ;* Assign_Channel specific error codes. * ;* * ;******************************************************************************* ;* Q$ChaSiz equ 71 + 16#1000#; 'Not enough resources (ram etc. ) for ;* the channel'. ;******************************************************************************* ;* * ;* Reserve/ Unreserve_Slot specific error codes. * ;* * ;******************************************************************************* ; Q$TooFew equ 81 + 16#1000#; 'The common or reserve slot list for ; the specified channel is empty'. ; ; Message Queue Services qualifiers ; ; These codes are set in register d1.w (one or many) at the calls ; of those services which take qualifiers. ; ; ; Common qualifier codes. * ; Q$NoQual equ 0 ; No qualifiers. Q$UseCha equ 16#8000# ; Use the channel specification for Q$UseChaB equ 15 ; this service. ; ; Create_Queue service specific qualifiers ; Q$NodWid equ 16#4000# ; Create this queue for node wide Q$NodWidB equ 14 ; accessibility. ; ; Delete_Queue service specific qualifiers ; Q$VerEmp equ 16#8000# ; Verify that queue is empty before Q$VerEmpB equ 15 ; deletion and return Q$NotEmp if not. ; ; Send_Message service specific qualifiers ; Q$UsePri equ 16#4000# ; Invoke the senders process priority Q$UsePriB equ 14 ; on any waiter on this queue if the ; waiter has lower priority. Q$RetRdy equ 16#2000# ; Deliver message only if a waiter is Q$RetRdyB equ 13 ; currently waiting for the queue. Q$UseRes equ 16#1000# ; Use a reserved slot for this message. Q$UseResB equ 12 ; ; Wait_for_Queues service specific qualifiers ; Q$NonBlk equ 16#8000# ; Return with status Q$QuesEmp if all Q$NonBlkB equ 15 ; awaited queues are empty. ; ; Wait_Set flag field specific qualifiers ; Q$SkpQue equ 16#8000# ; Skip this queue when forming the Q$SkpQueB equ 15 ; set of awaited queues for this ; wait service call Q$UserF1 equ 16#0001# ; User flag 1. Q$UserF1B equ 0 Q$UserF2 equ 16#0002# ; User flag 2. Q$UserF2B equ 1 Q$UserF3 equ 16#0003# ; User flag 3. Q$UserF3B equ 2 Q$UserF4 equ 16#0004# ; User flag 4. Q$UserF4B equ 3 Q$UserF5 equ 16#0005# ; User flag 5. Q$UserF5B equ 4 Q$UserF6 equ 16#0006# ; User flag 6. Q$UserF6B equ 5 Q$UserF7 equ 16#0007# ; User flag 7. Q$UserF7B equ 6 Q$UserF8 equ 16#0008# ; User flag 8. Q$UserF8B equ 7 ; ; Timer calls ; Ti$Start equ 16#0001#; Ti$Stop equ 16#0002#; ; ; Modifiers to Timer calls ; Ti$OneSh equ 16#20000000# ; Start a one-shot timer Ti$Cycl equ 16#40000000# ; Start a cyclic timer Ti$Driv equ 16#FFFFFFFF# ; Start a timer used by a driver ; ; Timer error codes ; Ti$NoFrTe equ 16#0000200A# Ti$IllTT equ 16#0000200C# Ti$DelTL equ 16#0000200B# Ti$NoFrQS equ 16#0000200D# Ti$BTmrID equ 16#00002014# ;