AMX 86 Procedures
K
A
DAK
275
ajmxsndp ajmxsndp
Purpose Send Message to a Message Exchange
Used by n Task n IS P n Timer Procedure n Restart Procedure n Exit Procedure
Setup AMXID exchange;
int priority;
int status;
int parm1;
int parm2;
.
.
status = ajmxsndp(exchange, priority, parm1, parm2...);
AX AAMXSND BX DX @ES:SI
Where exchange is the message exchange id acquired by a call to ajmxcre.
priority is the priority of the message.
(0 = highest, 3 = lowest)
parm1, parm2... on the stack form the message to be copied to the
message exchange. The number of bytes copied from the stack
depends on the AMX message size which is AMXMSZ bytes. AMXMSZ is
configured in the User Parameter File.
Results Interrupts are disabled and then restored to their state at the time of the
call.
Status is returned.
AEROK = Call successful
AERNSX = Invalid message exchange id
AERNME = No free message envelope
AERMBF = Message queue (mailbox) is full
AERNMB = No message queue (mailbox) of the specified priority
If one or more tasks are waiting at the exchange for a message, the
message will be given immediately to the task waiting at the head of the
exchange's wait queue. Task rescheduling occurs immediately if
necessary.
Note The equivalent assembly language procedure is AAMXSND which receives
the parameters shown above.
See Also ajmxsnd, ajmxwat, ajmxget