8.3.1 Broadcasting Messages by Name
The tpbroadcast(3c) function allows a message to be sent to registered clients of the application. It can be called by a service or another client. Registered clients are those that have successfully made a call to tpinit() and have not yet made a call to tpterm().
Use the following signature to call the tpbroadcast() function:
               
int
tpbroadcast(char *lmid, char *usrname, char *cltname, char *data, long len, long 
flags)The following table describes the arguments to the tpbroadcast() function.
               
Table 8-3 tpbroadcast( ) Function Arguments
| Argument | Description | 
|---|---|
|  lmid  | Pointer to the logical machine identifier for the client. A value of NULL acts as a wildcard, so that a message can be directed to groups of clients. | 
|  usrname  | Pointer to the username of the client process, if one exists. A value of NULL acts as a wildcard, so that a message can be directed to groups of clients. | 
|  cltname  | Pointer to the client name of the client process, if one exists. A value of NULL acts as a wildcard, so that a message can be directed to groups of clients. | 
|  data  | Pointer to the content of a message. | 
|  len  | Size of the message buffer. If  data points to a self-defining buffer type, for example,FML, then len can be set to 0. | 
|  flags  | Flag options. Refer to tpbroadcast(3c)in the Oracle Tuxedo ATMI C Function Reference for information on available flags. | 
The following listing illustrates a call to tpbroadcast() for which all clients are targeted. The message to be sent is contained in a STRING buffer.
               
Listing Using tpbroadcast( )
char *strbuf;
if ((strbuf = tpalloc("STRING", NULL, 0)) == NULL) {
         error routine   
         }  
(void) strcpy(strbuf, "hello, world"); 
if (tpbroadcast(NULL, NULL, NULL, strbuf, 0, TPSIGRSTRT) == -1)
              error routine Parent topic: Sending Unsolicited Messages