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 |
Parent topic: Introduction to Oracle Tuxedo Programming