NAME

     immd_dequeue - Removes a message from the queue


SYNOPSIS

     #include <imta.h>

     int immd_dequeue(immd_t md);


DESCRIPTION

     After successfully processing a message, the message  should
     be deleted from the message queues with immd_dequeue().

     If a permanent error has occurred while  processing  a  mes-
     sage, then the message should be returned to its originator.
     This is achieved by setting each's  recipient's  disposition
     appropriately  using  immd_recipient_disposition().  See the
     "SIMS SDK Guide" for further discussion on this topic.

     Remember that once immd_dequeue() is called, the message  is
     definitely removed from the message queue and the associated
     dequeue context is deleted. It is therefore crucial  that  a
     message  not  be dequeued with immd_dequeue() until after it
     has been successfully processed or found to  be  permanently
     undeliverable. Not doing so would result in lost mail.


RETURN VALUES

     immd_dequeue() returns IMRC_OK when successful, and  one  of
     the following error codes otherwise:

     IMRC_BAD_CONTEXT
                 The dequeue context md has not been  initialized
                 or  has  been  corrupted.  Make sure immd_init()
                 has been previously called.

     A textual version reason for the failure can be obtained  by
     calling imta_error() immediately afterwards.


ATTRIBUTES

               _______________________________________
              |   Attribute Type   |  Attribute Value|
              |____________________|_________________|
              | Architecture       |  sparc, x86     |
              |____________________|_________________|
              | Availability       |  SUNWimsdk      |
              |____________________|_________________|
              | MT-Level           |  MT-Safe        |
              |____________________|_________________|
              | Interface Stability|  Stable         |
              |____________________|_________________|


SEE ALSO

     immd_init(3), immd_recipient_disposition(3)