1.5 Oracle Tuxedo API: ATMI

In addition to the C code that expresses the logic of your application, you must use the Application-to-Transaction Monitor Interface (ATMI), the interface between your application and the Oracle Tuxedo system. The ATMI functions are C language functions that resemble operating system calls. They implement communication among application modules running under the control of the Oracle Tuxedo system transaction monitor, including all the associated resources you need.

The ATMI is a reasonably compact set of functions used to open and close resources, begin and end transactions, allocate and free buffers, and support communication between clients and servers. The following table summarizes the ATMI functions. Each function is described in the Oracle Tuxedo ATMI C Function Reference.

Table 1-2 Using the ATMI Function

For a Task Related to... Use This C Function... To... For More Information, Refer to...
Buffer management tpalloc() Create a message buffer. Managing Typed Buffers
tprealloc() Resize a message buffer.
tptypes() Get a message type and subtype.
tpfree() Free a message buffer.
Client membership tpchkauth() Check whether authentication is required. Writing Clients
tpinit() Join an application.
tpterm() Leave an application.
Multiple application context management tpgetctxt(3c) Retrieve an identifier for the current thread’s context. Programming a Multithreaded and Multicontexted ATMI Application
tpsetctxt(3c) Set the current thread context in a multicontexted process.
Service entry and return tpsvrinit() Initialize a server.
tpsvrdone() Terminate a server.
tpsvrthrinit() Initialize an individual server thread.
tpsvrthrdone() Termination code for an individual server thread.
tpreturn() End a service function.
tpforward() Forward a request.
Dynamic advertisement tpadvertise() Advertise a service name. Writing Servers
tpadvertisex() Advertise service with unique service name in domain, or advertise service on the Oracle Tuxedo server secondary request queue.
tpunadvertise() Unadvertise a service name.
Message priority tpgprio() Get the priority of the last request. Writing Servers
tpsprio() Set the priority of the next request.
Request/response communications tpcall() Initiate a synchronous request/response to a service.
tpacall() Initiate an asynchronous request.
tpgetrply() Receive an asynchronous response.
tpcancel() Cancel an asynchronous request.
Conversational communication tpconnect() Begin a conversation with a service. Writing Conversational Clients and Servers
tpdiscon() Abnormally terminate a conversation.
tpsend() Send a message in a conversation.
tprecv() Receive a message in a conversation.
Reliable queuing tpenqueue(3c) Enqueue a message to a message queue. Using the ATMI /Q Component
tpdequeue(3c) Dequeue a message to a message queue.
Event-based communications tpnotify() Send an unsolicited message to a client. Writing Event-based Clients and Servers
tpbroadcast() Send messages to several clients.
tpsetunsol() Set unsolicited message call-back.
tpchkunsol() Check the arrival of unsolicited messages.
tppost() Post an event message.
tpsubscribe() Subscribe to event messages.
tpunsubscribe() Unsubscribe to event messages.
Transaction management tpbegin() Begin a transaction. Writing Global Transactions
tpcommit() Commit the current transaction.
tpabort() Roll back the current transaction.
tpgetlev() Check whether in transaction mode.
tpsuspend() Suspend the current transaction.
tpresume() Resume a transaction.
Resource management tpopen(3c) Open a resource manager. Setting Up an Oracle Tuxedo Application
tpclose(3c) Close a resource manager.
Blocking time management tpgblktime(3c) Get blocktime value. Oracle Tuxedo ATMI C Function Reference
tpsblktime(3c) Set blocktime value in seconds or milliseconds.
Security tpkey_open(3c) Open a key handle for digital signature generation, message encryption, or message decryption. Using Security in CORBA Applications
tpkey_getinfo(3c) Get information associated with a key handle.
tpkey_setinfo(3c) Set optional attributes associated with a key handle.
tpkey_close(3c) Close a previously opened handle.
tpsign(3c) Mark a typed message buffer for generation of a digital signature.
tpseal(3c) Mark a typed message buffer for generation of an encryption envelope.
tpenvelope(3c) Access the digital signature and recipient information associated with a typed message buffer.
tpexport(3c) Convert a typed message buffer into an exportable, machine-independent (externalized) string representation.
tpimport(3c) Convert an externalized string representation back into a typed message buffer.

See Also:

For more information about the Oracle Tuxedo ATMI C functions, see Section 3c - C Functions