|
|
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 - metrics - 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#
;