home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
pmos2002.zip
/
DEF
/
MAILBOXE.DEF
< prev
next >
Wrap
Text File
|
1996-09-30
|
2KB
|
44 lines
DEFINITION MODULE Mailboxes;
(********************************************************)
(* *)
(* Mailboxes for intertask communication *)
(* *)
(* Programmer: P. Moylan *)
(* Last edited: 30 September 1996 *)
(* Status: Working *)
(* *)
(********************************************************)
FROM SYSTEM IMPORT
(* type *) ADDRESS;
TYPE Mailbox; (* is private *)
PROCEDURE CreateMailbox (LengthLimit: CARDINAL): Mailbox;
(* Creates a new mailbox. LengthLimit is the maximum number of *)
(* characters in a single message. (A limit is needed so that a *)
(* task reading the mailbox knows how much space to allocate.) *)
PROCEDURE SendMessage (MB: Mailbox; messageptr: ADDRESS;
length: CARDINAL): BOOLEAN;
(* Copies a string, specified by its address and length, into the *)
(* specified mailbox. Returns TRUE if successful, and FALSE if the *)
(* message is too long or the mailbox does not exist. *)
PROCEDURE ReceiveMessage (MB: Mailbox; VAR (*OUT*) message: ARRAY OF CHAR;
TimeLimit: CARDINAL): CARDINAL;
(* Returns the next message (after waiting if necessary) from *)
(* mailbox MB. TimeLimit is a timeout value in milliseconds. *)
(* (Specify TimeLimit=0 for infinite patience.) The function *)
(* return value is the message length; this is zero if no message *)
(* was obtained, either because of a faulty mailbox or because of *)
(* timeout. Note: it is also possible to have a genuine message of *)
(* zero length. *)
END Mailboxes.