PURPOSE

TM_MIB - TUXEDO System/T Management Information Base

SYNOPSIS

#include &ltfml32.h>
#include &lttpadm.h>

DESCRIPTION

The System/T MIB defines the set of classes through which the fundamental aspects of an application may be configured and managed. This includes management of machines, servers, networking, and load balancing to name a few.

TM_MIB(5) should be used in combination with the generic MIB manual page, MIB(5), to format administrative requests and interpret administrative replies. Requests formatted as described in MIB(5) using classes and attributes described in this manual page may be used to request an administrative service using any one of a number of existing ATMI interfaces in an active application. Inactive applications may also be administered using the tpadmcall(3c) function interface. TM_MIB(5) consists of the following classes:
TM_MIB Classes
Class Name Attributes Class Name Attributes
T_BRIDGE Network connection T_CLIENT Client
T_CONN Conversation T_DEVICE Device
T_DOMAIN Global application T_GROUP Server group
T_MACHINE Machine specific T_MSG Message queue
T_NETGROUP Network Group T_NETMAP Machines to NetGroups
T_QUEUE Server queue T_ROUTING Routing criteria
T_SERVER Server T_SERVICE Service
T_SVCGRP Service group T_TLISTEN /T listeners
T_TLOG Transaction log T_TRANSACTION Transaction
T_ULOG Userlog    

Each class description consists of four sections:

--
Overview - High level description of the attributes associated with the class.
--
Attribute Table - The format of the attribute table is summarized below and described in detail in MIB(5).
--
Attribute Semantics - Defines the interpretation of each attribute that is part of the class.
--
Limitations - Limitations in the access to and interpretation of this class.

ATTRIBUTE TABLE FORMAT

Each class that is a part of this MIB is defined in four parts in sections that follow. One of the four parts is the attribute table. The attribute table is a reference guide to the attributes within a class and how they may used by administrators, operators, and general users to interface with an application.

There are five columns for each attribute described in an attribute table: name, type, permissions, values, and default. Each of these components is discussed in MIB(5).

TA_FLAGS Values

MIB(5) defines the generic TA_FLAGS attribute, which is a long containing both generic and component MIB specific flag values. The following are the TM_MIB(5) specific flag values supported. These flag values should be or'd with any generic MIB flags.

TMIB_ADMONLY
A flag used to indicate that only administrative processes should be activated when changing the state of a T_MACHINE object from INActive to ACTive.

TMIB_APPONLY
A flag used to indicate that only application processes should be considered when activating or deactivating a T_MACHINE object. It may also be used on T_SERVER retrievals to restrict the retrieval to application servers only.

TMIB_CONFIG
A flag used to indicate that only configured groups and servers should be considered in satisfying the request.

TMIB_NOTIFY
A flag used when activating or deactivating T_MACHINE, T_GROUP, or T_SERVER objects to cause unsolicited notification messages to be sent to the originating client just prior to and just after the activation or deactivation of each server object selected.

FML32 Field Tables

The field table for the attributes described in this manual page is found in the file udataobj/tpadm relative to the root directory of the TUXEDO System software installed on the system. The directory ${TUXDIR}/udataobj should be included by the application in the colon-separated list specified by the FLDTBLDIR environment variable, and the field table name tpadm should be included in the comma-separated list specified by the FIELDTBLS environment variable.

LIMITATIONS

Access to the header files and field tables for this MIB is being provided only on TUXEDO System/T Release 5.0 sites and later, both native and /WS.

/WS access to this MIB is limited to runtime only access; the function tpadmcall(3c) is not supported on workstations.

For the purpose of preimage processing (MIB_PREIMAGE flag bit set), local attributes for classes that have global attributes are not considered. Additionally, indexed fields and the indexes that go with them are not considered, for example, T_TLOG class, TA_TLOGCOUNT, TA_TLOGINDEX, TA_GRPNO, TA_TLOGDATA attributes.

T_BRIDGE CLASS DEFINITION

Overview

The T_BRIDGE class represents runtime attributes pertaining to connectivity between logical machines making up an application. These attribute values represent connection status and statistics.

Attribute Table

TM_MIB(5): T_BRIDGE Class Definition Attribute Table
Attribute (Note 1) Type Permissions Values Default
TA_LMID( * ) (Note 2) string r--r--r-- "LMID1[,LMID2]" N/A
TA_NETGROUP( k ) (Note 3) string R--R--R-- "string[1...30]" DEFAULTNET
TA_STATE( k ) string rwxrwxr-- GET:"{ACT|INA|SUS|PEN}"
N/A
SET:"{ACT|INA|SUS|PEN}" N/A
TA_CURTIME long R--R--R-- 0 <= num N/A
TA_CONTIME long R-XR-XR-- 0 <= num N/A
TA_SUSPTIME long rwxrwxr-- 0 <= num 300 (Note 4)
TA_RCVDBYT long R-XR-XR-- 0 <= num N/A
TA_SENTBYT long R-XR-XR-- 0 <= num N/A
TA_RCVDNUM long R-XR-XR-- 0 <= num N/A
TA_SENTNUM long R-XR-XR-- 0 <= num N/A
TA_FLOWCNT long R-XR-XR-- 0 <= num N/A
TA_CURENCRYPTBITS string R--R----- { 0 | 40 | 128 } N/A

( k ) - GET key field

( * ) - GET/SET key, one or more required for SET operations

Note 1. - All attributes in Class T_BRIDGE are local attributes.

Note 2. - The TA_LMID attribute must be fully specified for SET operations, that is, LMID1,LMID2.

Note 3. - SET operations may only use TA_NETGROUP DEFAULTNET in this release.
- GET operations may use any TA_NETGROUP defined for both LMID values.

Note 4. - TA_SUSPTIME may be SET only if the TA_STATE is currently SUSPENDED or is being SET to SUSPENDED.

Attribute Semantics

TA_LMID: LMID1[,LMID2]
Source logical machine identifier (LMID1) and destination logical machine identifier (LMID2) for network connection.

TA_NETGROUP: string[1...30]
Logical name of the network group. When both the source and destination TA_LMID machine identifiers are in the same TA_NETGROUP, the T_BRIDGE class will present all instances of related fields per TA_NETGROUP. TA_NETGROUP may be used as a key field on GET requests. TA_NETGROUP values other than DEFAULTNET may not be used on SET operations in this release.

TA_STATE:
GET: {ACTive|INActive|SUSpended|PENding}
A GET operation will retrieve runtime information for the selected T_BRIDGE object(s). A TA_LMID attribute value with only one logical machine identifier matches all active connections from LMID1 to other machines in the application. In this case, each retrieved record will contain an expanded TA_LMID attribute value with the destination LMID filled in. The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned.

ACTive
The connection is established and active.

INActive
The connection is inactive. This state is only returned when status is requested on a particular connection, that is, both LMIDs specified in the TA_LMID attribute and the source logical machine is reachable.

SUSpended
An established connection was terminated due to an error condition, and reconnection has been suspended for at least the amount of time indicated in the TA_SUSPTIME attribute value. This state is ACTive equivalent for the purpose of determining permissions.

PENding
An asynchronous connection has been requested, but has not yet completed. The final outcome of the connection request has not been determined.

SET: {ACTive|INActive|SUSpended|PENding}
A SET operation will update runtime information for the selected T_BRIDGE object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.

unset
Modify an existing T_BRIDGE object. This combination is allowed only when in the ACTive or SUSpended state. Successful return leaves the object state unchanged.

ACTive
Activate the T_BRIDGE object by attempting an asynchronous connection between the indicated logical machines. This operation will fail if only one logical machine is specified, if either of the two machines is not active, or if the source logical machine is not reachable. While the T_BRIDGE object is establishing the asynchronous connection, the BRIDGE will do other work. Using the state change to PENding is recommended. State change allowed in the INActive and SUSpended states. For the purpose of determining permissions for this state transition, the active object permissions are considered (that is, --x--x--x). Successful return leaves the object in the PENding state.

INActive
Deactivate the T_BRIDGE object by closing the connection between the indicated logical machines. This operation will fail if only one logical machine is specified or if the two machines are not connected. State change allowed only when in the ACTive state. Successful return leaves the object in the INActive state.

SUSpended
Suspend the T_BRIDGE object by closing the connection between the indicated logical machines and by setting the TA_SUSPTIME parameter as indicated. State change allowed only when in the ACTive state. Successful return leaves the object in the SUSpended state.

Limitation: Note that since the statistics reported are from the viewpoint of the source logical machine, resetting those statistics will cause them to be out of sync with the statistics reported by the destination logical machine for the same connection.

PENding
Activate the T_BRIDGE object by establishing an asynchronous connection between the indicated logical machines. This operation will fail if only one logical machine is specified, if eitherof the two machines is not active, or if the source logical machine is not reachable. When in the PENDing state, the success or failure of the connection request has not yet been determined. However, the BRIDGE may continue to process other events and data while the connection is outstanding. State change allowed in the INActive and SUSpended states. For the purpose of determining permissions for this state transition, the active object permissions are considered (that is, --x--x--x). Successful return leaves the object in the PENding state.

TA_CURTIME: 0 <= num
Current time, in seconds, since 00:00:00 UTC, January 1, 1970, as returned by the time(2) system call on T_BRIDGE:TA_LMID. This attribute can be used to compute elapsed time from the following attribute value.

TA_CONTIME: 0 <= num
Time, in seconds, since 00:00:00 UTC, January 1, 1970, as returned by the time(2) system call on T_BRIDGE:TA_LMID, when this connection was first established. Elapsed open time in seconds can be computed using TA_CURTIME - TA_CONTIME.

TA_SUSPTIME: 0 <= num
Time, in seconds, remaining in the suspension of this connection. After this amount of time, the connection will automatically change to a TA_STATE of INACTIVE and may be activated by normal application traffic.

TA_RCVDBYT: 0 <= num
Number of bytes sent from the destination logical machine to the source logical machine.

TA_SENTBYT: 0 <= num
Number of bytes sent from the source logical machine to the destination logical machine.

TA_RCVDNUM: 0 <= num
Number of messages sent from the destination logical machine to the source logical machine.

TA_SENTNUM: 0 <= num
Number of messages sent from the source logical machine to the destination logical machine.

TA_FLOWCNT: 0 <= num
Number of times flow control has been encountered over this connection.

TA_CURENCRYPTBITS:{0|40|128}
The current encryption level for this link. The level is negotiated between machines when the link is established.

Limitations

None.

T_CLIENT CLASS DEFINITION

Overview

The T_CLIENT class represents runtime attributes of active clients within an application. These attribute values identify and track the activity of clients within a running application.

Attribute Table

TM_MIB(5): T_CLIENT Class Definition Attribute Table
Attribute (Note 1) Type Permissions Values Default
TA_STATE( k ) string R-XR-XR-- GET:"{ACT|SUS|DEA}" N/A
SET:"{ACT|SUS|DEA}" N/A
TA_CLIENTID( * ) string R--R--R-- string[1...78] N/A
TA_CLTNAME( k ) string R--R--R-- string[0...30] N/A
TA_IDLETIME( k ) long R--R--R-- 0 <= num N/A
TA_LMID( k ) string R--R--R-- LMID N/A
TA_PID( k ) long R--R--R-- 1 <= num N/A
TA_SRVGRP( k ) string R--R--R-- string[0...30] N/A
TA_USRNAME( k ) string R--R--R-- string[0...30] N/A
TA_WSC( k ) string R--R--R-- "{Y|N}" N/A
TA_WSH( k ) string R--R--R-- "{Y|N}" N/A
TA_WSHCLIENTID( k ) string R--R--R-- string[1...78] N/A
TA_RELEASE long R--R--R-- 0 <= num N/A
TA_WSPROTO long R--R--R-- 0 <= num N/A
TA_NUMCONV long R-XR-XR-- 0 <= num N/A
TA_NUMDEQUEUE long R-XR-XR-- 0 <= num N/A
TA_NUMENQUEUE long R-XR-XR-- 0 <= num N/A
TA_NUMPOST long R-XR-XR-- 0 <= num N/A
TA_NUMREQ long R-XR-XR-- 0 <= num N/A
TA_NUMSUBSCRIBE long R-XR-XR-- 0 <= num N/A
TA_NUMTRAN long R-XR-XR-- 0 <= num N/A
TA_NUMTRANABT long R-XR-XR-- 0 <= num N/A
TA_NUMTRANCMT long R-XR-XR-- 0 <= num N/A
TA_CMTRET string R--R--R-- "{COMPLETE|LOGGED}" N/A
TA_CURCONV long R--R--R-- 0 <= num N/A
TA_CURENCRYPTBITS string R--R----- { 0 | 40 | 128 } N/A
TA_CURREQ long R--R--R-- 0 <= num N/A
TA_CURTIME long R--R--R-- 1 <= num N/A
TA_LASTGRP long R--R--R-- 1 <= num < 30,000 N/A
TA_NADDR string R--R--R-- string[1...78] N/A
TA_NOTIFY string R--R--R-- "{DIPIN|SIGNAL|IGNORE}" N/A
TA_NUMUNSOL long R--R--R-- 0 <= num N/A
TA_RPID long R--R--R-- 1 <= num N/A
TA_TIMELEFT long R--R--R-- 0 <= num N/A
TA_TIMESTART long R--R--R-- 1 <= num N/A
TA_TRANLEV long R--R--R-- 0 <= num N/A

( k ) - GET key field

( * ) - GET/SET key, one or more required for SET operations

Note 1. - All attributes in Class T_CLIENT are local attributes.

Attribute Semantics

TA_STATE:
GET: {ACTive|SUSpended|DEAd}
A GET operation will retrieve runtime information for the selected T_CLIENT object(s). Note that client information is kept in local bulletin board tables only. Therefore, for maximum performance, inquiries on client status should be restricted using key fields as much as possible. The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned.

ACTive
T_CLIENT object active. This is not an indication of whether the client is idle or busy. A non 0 value retrieved for either the TA_CURCONV attribute or the TA_CURREQ attribute indicates a busy client.

SUSpended
T_CLIENT object active and suspended from making further service requests ( tpcall(3c) or tpacall(3c)) and from initiating further conversations ( tpconnect(3c)). See SET SUSpended below for details. This state is ACTive equivalent for the purpose of determining permissions.

DEAd
T_CLIENT object identified as active in the bulletin board but currently not running due to an abnormal death. This state will exist only until the BBL local to the client notices the death and takes action to clean up the client's bulletin board resources. This state is ACTive equivalent for the purpose of determining permissions.

SET: {ACTive|SUSpended|DEAd}
A SET operation will update runtime information for the selected T_CLIENT object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.

ACTive
Activate a SUSpended T_CLIENT object. State change allowed only when in the SUSpended state. Successful return leaves the object in the ACTive state.

unset
Modify an existing T_CLIENT object. This combination is allowed only when in the ACTive or SUSpended state. Successful return leaves the object state unchanged.

SUSpended
Suspend the T_CLIENT object from making service requests ( tpcall(3c) or tpacall(3c)), initiating conversations ( tpconnect(3c)), beginning transactions ( tpbegin(3c)), and enqueuing new requests ( tpenqueue(3c)). Clients within a transaction will be permitted to make these calls until they abort or commit the current transaction, at which time they will become suspended. Invocations of these routines will result in a TPESYSTEM error return and a system log message being generated indicating the situation. State change allowed only when in the ACTive state. Successful return leaves the object in the SUSpended state.

DEAd
Abortively deactivate the T_CLIENT object. State change allowed only when in the ACTive or SUSpended state. The recommended method for deactivating clients is to first broadcast a warning message ( tpbroadcast(3c)), then to suspend them (see SET SUSpended above), and finally to abortively deactivate them by setting the state to DEAd. Successful return leaves the object in the DEAd state.

Limitation: Workstation handlers (T_CLIENT:TA_WSH == Y) may not be set to a state of DEAd. The system may not be able to kill the client due to platform or signaling restrictions. In this case, a native client will be abortively terminated at its next access to ATMI, and a workstation client's connection to a WSH will be preemptively torn down.

TA_CLIENTID: string[1...78]
Client identifier. The data in this field should not be interpreted directly by the end user except for equality comparison.

TA_CLTNAME: string[0...30]
Client name associated with client at tpinit(3c) time via the cltname element of the TPINIT structure.

TA_IDLETIME: 0 <= num
Approximate amount of time, in seconds, since this client last interacted with the system via an ATMI call. This value is accurate to within TA_SCANUNIT (see the T_DOMAIN class) seconds. When specified as a key field, a positive value indicates that all clients with idle times of at least the indicated value match, a negative value indicates that all clients with no more than the indicated value match, and a 0 value matches all clients.

TA_LMID: LMID
Logical machine where client is running (native clients) or where client is connected (workstation clients).

TA_PID: 1 <= num
Process identifier of client. Note that for workstation clients, this identifier indicates the workstation handler through which the workstation client is connected. A negative number may be specified on a GET operation for the purpose of retrieving client information for the calling process. If the calling process is not a client, then an error will be returned.

TA_SRVGRP: string[0...30]
Server group with which the client is associated. This information is set via the grpname element of the TPINIT structure at tpinit(3c) time.

TA_USRNAME: string[0...30]
User name associated with client at tpinit(3c) time via the usrname element of the TPINIT structure.

TA_WSC: {Y|N}
Workstation client. If this attribute is set to "Y", then the indicated client is logged in to the application from a remote workstation.

TA_WSH: {Y|N}
Workstation handler. If this attribute is set to "Y", then the indicated client is a workstation handler process.

TA_WSHCLIENTID: string[1...78]
Client identifier for the associated workstation handler (WSH) if this client is a workstation client (TA_WSH == Y); otherwise, this attribute will be returned as a 0-length string.

TA_RELEASE: 0 <= num
The TUXEDO System/T major protocol release number for the machine where the client is running. This may be different from the TA_SWRELEASE for the same machine. Note that for /WS clients (TA_WSC == Y), this value may be different than the major release associated with the application administered machine through which the /WS client accesses the application.

TA_WSPROTO: 0 <= num
The TUXEDO System/T /WS protocol version number for a workstation client. This value is changed with each update to the /WS protocol. A value of 0 is returned for this attribute when associated with non-/WS clients (TA_WSC == N).

TA_NUMCONV: 0 <= num
Number of conversations initiated by this client via tpconnect(3c).

TA_NUMDEQUEUE: 0 <= num
Number of dequeue operations initiated by this client via tpdequeue(3c).

TA_NUMENQUEUE: 0 <= num
Number of enqueue operations initiated by this client via tpenqueue(3c).

TA_NUMPOST: 0 <= num
Number of postings initiated by this client via tppost(3c).

TA_NUMREQ: 0 <= num
Number of requests made by this client via tpcall(3c) or tpacall(3c).

TA_NUMSUBSCRIBE: 0 <= num
Number of subscriptions made by this client via tpsubscribe(3c).

TA_NUMTRAN: 0 <= num
Number of transactions begun by this client.

TA_NUMTRANABT: 0 <= num
Number of transactions aborted by this client.

TA_NUMTRANCMT: 0 <= num
Number of transactions committed by this client.

TA_CMTRET: {COMPLETE|LOGGED}
Setting of the TP_COMMIT_CONTROL characteristic for this client. See the description of the System/T ATMI function tpscmt(3c) for details on this characteristic.

TA_CURCONV: 0 <= num
Number of conversations initiated by this client via tpconnect(3c) that are still active.

TA_CURENCRYPTBITS:{0|40|128}
The current encryption level for this client. The level is negotiated when the link is established.

TA_CURREQ: 0 <= num
Number of requests initiated by this client via tpcall(3c) or tpacall(3c) that are still active.

TA_CURTIME: 1 <= num
Current time, in seconds, since 00:00:00 UTC, January 1, 1970, as returned by the time(2) system call on T_CLIENT:TA_LMID. This attribute can be used to compute elapsed time from the T_CLIENT:TA_TIMESTART attribute value.

TA_LASTGRP: 1 <= num < 30,000
Server group number (T_GROUP:TA_GRPNO) of the last service request made or conversation initiated from this client.

TA_NADDR: string[1...78]
For workstation clients, this attribute indicates the network address of the client. Network addresses with unprintable characters will be converted to the "0x..." network address format as described in the T_MACHINE class for the T_NADDR attribute. If the address is a TCP/IP address, then it is returned in the dotted_decimal:port_number format:

"//#.#.#.#:port_number"

Each # represents a decimal number in the range 0 to 255. Port_number is a decimal number in the range 0 to 65535. Non-workstation clients will have a 0-length string associated with them for this attribute value.

Limitation: The ability of the system to provide this information is determined by the transport provider in use. In some cases, workstation clients may not have addresses associated with them if the provider does not make this information available.

TA_NOTIFY: {DIPIN|SIGNAL|IGNORE}
Setting of the notification characteristic for this client. See the T_DOMAIN class description of this attribute for more details.

TA_NUMUNSOL: 0 <= num
Number of unsolicited messages queued for this client awaiting processing.

TA_RPID: 1 <= num
UNIX System message queue identifier for the client's reply queue.

Limitation: This is a UNIX System specific attribute that may not be returned if the platform on which the application is being run is not UNIX-based.

TA_TIMELEFT: 0 <= num
Time left, in seconds, for this client to receive the reply for which it is currently waiting before it will timeout. This timeout may be a transactional timeout or a blocking timeout.

TA_TIMESTART: 1 <= num
Time when the client joined the application. Computed in seconds, since 00:00:00 UTC, January 1, 1970, as returned by the time(2) system call on T_CLIENT:TA_LMID.

TA_TRANLEV: 0 <= num
Current transaction level for this client. 0 indicates that the client is not currently involved in a transaction.

Limitations

None.

T_CONN CLASS DEFINITION

Overview

The T_CONN class represents runtime attributes of active conversations within an application.

Attribute Table

TM_MIB(5): T_CONN Class Definition Attribute Table
Attribute (Note 1) Type Permissions Values Default
TA_LMID( k ) string R--R--R-- LMID N/A
TA_STATE( k ) string R--R--R-- GET:"{ACT}" N/A
SET:N/A N/A
TA_SERVICENAME string R--R--R-- string[1...15] N/A
TA_CLIENTID( k ) string R--R--R-- string[1...78] N/A
TA_CONNOGRPNO long R--R--R-- 1 <= num < 30,001 N/A
TA_CONNOLMID string R--R--R-- LMID N/A
TA_CONNOPID long R--R--R-- 1 <= num N/A
TA_CONNOSNDCNT long R--R--R-- 0 <= num N/A
TA_CONNOSRVID long R--R--R-- 1 <= num < 30,001 N/A
TA_CONNSGRPNO long R--R--R-- 1 <= num < 30,001 N/A
TA_CONNSLMID string R--R--R-- LMID N/A
TA_CONNSPID long R--R--R-- 1 <= num N/A
TA_CONNSSNDCNT long R--R--R-- 0 <= num N/A
TA_CONNSSRVID long R--R--R-- 1 <= num < 30,001 N/A

( k ) - GET key field

Note 1. - All attributes in Class T_CONN are local attributes.

Attribute Semantics

TA_LMID: LMID
Retrieval machine logical machine identifier.

TA_STATE:

GET: {ACTive}
A GET operation will retrieve runtime information for the selected T_CONN object(s). The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned.

ACTive
The object returned reflects one or both sides of an active conversation within the application.

SET:
SET operations are not permitted on this class.

TA_SERVICENAME: string[1...15]
Service name of the conversational service invoked by the originator and processed by the subordinate.

TA_CLIENTID: string[1...78]
Client identifier. The data in this field should not be interpreted directly by the end user except for equality comparison.

TA_CONNOGRPNO: 1 <= num < 30,001
Server group number for the originator of the conversation. If the originator is a client, then 30,000 is returned as the value for this attribute.

TA_CONNOLMID: LMID
Logical machine identifier indicating where the originator is running or is accessing the application (in the case of /WS clients).

TA_CONNOPID: 1 <= num
Process identifier for the originator of the conversation.

TA_CONNOSNDCNT: 0 <= num
Number of tpsend(3c) calls done by the originator.

TA_CONNOSRVID: 1 <= num < 30,001
Server identifier for the originator of the conversation.

TA_CONNSGRPNO: 1 <= num < 30,001
Server group number for the subordinate of the conversation.

TA_CONNSLMID: LMID
Logical machine identifier indicating where the subordinate is running or is accessing the application (in the case of /WS clients).

TA_CONNSPID: 1 <= num
Process identifier for the subordinate in the conversation.

TA_CONNSSNDCNT: 0 <= num
Number of tpsend(3c) calls done by the subordinate.

TA_CONNSSRVID: 1 <= num < 30,001
Server identifier for the subordinate in the conversation.

Limitations

None.

T_DEVICE CLASS DEFINITION

Overview

The T_DEVICE class represents configuration and runtime attributes of raw disk slices or UNIX System files being used to store TUXEDO System/T device lists. This class allows for the creation and deletion of device list entries within a raw disk slice or UNIX System file.

Attribute Table

TM_MIB(5): T_DEVICE Class Definition Attribute Table
Attribute (Note 1) Type Permissions Values Default
TA_LMID( * ) string ru-r--r-- LMID local_lmid
TA_CFGDEVICE( r )( * ) string ru-r--r-- string[2...64] N/A
TA_DEVICE( * ) string ru-r--r-- string[2...64] TA_CFGDEVICE
TA_DEVOFFSET( * ) long ru-r--r-- 0 <= num 0
TA_DEVSIZE( r ) long rw-r--r-- 0 <= num 1000 (Note 3)
TA_DEVINDEX( * ) (Note 2) long r--r--r-- 0 <= num N/A
TA_STATE( k ) string rwxr--r-- GET:"{VAL}" N/A
SET:"{NEW|INV}" N/A

( k ) - GET key field

( r ) - Required field for object creation (SET TA_STATE NEW)

( * ) - GET/SET key, one or more required for SET operations

Note 1. - All attributes in Class T_DEVICE are local attributes.

Note 2. - TA_DEVINDEX is required for SET operations to identify the particular device list entry except when setting the state to NEW for the purpose of creating a new device list entry. In the latter case, TA_DEVINDEX must not be set; a value will be assigned by the system and returned after a successful creation.

Note 3. - TA_DEVSIZE may only be SET on object creation.

Attribute Semantics

TA_LMID: LMID
Logical machine identifier where the device is located. Note that this attribute may be used as a key field in both unbooted and booted applications as long as they are already configured (that is, at least one T_MACHINE entry is defined). It is required as a key field on SET operations when accessing a booted application. If specified when accessing the T_DEVICE class in an unconfigured application, this attribute is ignored.

TA_CFGDEVICE: string[2...64]
Absolute pathname of the file or device where the TUXEDO System/T filesystem is stored or is to be stored.

TA_DEVICE: string[2...64]
Absolute pathname of the device list entry.

TA_DEVOFFSET: 0 <= num
The offset, in blocks, at which space on this TA_DEVICE begins for use within the TUXEDO System/T VTOC specified by TA_CFGDEVICE.

Limitation: This attribute must be set to 0 for the first device list entry (TA_DEVICE) on the TUXEDO System/T filesystem (TA_CFGDEVICE).

TA_DEVSIZE: 0 <= num
The size in pages of the disk area to be used for the device list entry.

Limitation: This attribute may be set only in conjunction with a state change to NEW.

TA_DEVINDEX: 0 <= num
Device index for TA_DEVICE within the device list addressed by TA_CFGDEVICE. This attribute value is used for identification purposes only in getting and setting attribute values relating to particular devices within a TUXEDO System/T filesystem.

TA_STATE:

GET: {VALid}
A GET operation will retrieve runtime information for the selected T_DEVICE object(s). The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned.

VALid
The TUXEDO System/T filesystem indicated by TA_CFGDEVICE exists and contains a valid device list. TA_DEVICE is a valid device within that filesystem with the device index TA_DEVINDEX.

SET: {NEW|INValid}
A SET operation will update information for the selected T_DEVICE object or add the indicated object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.

NEW
Create or reinitialize T_DEVICE object for application. State change allowed only when in the INValid or VALid state. Successful return leaves the object in the VALid state. If this state transition is invoked in the INValid state, then the object is created; otherwise, it is reinitialized. The creation of the first TA_DEVICE device list entry on the TA_CFGDEVICE TUXEDO System/T filesystem will automatically create and initialize the necessary VTOC and UDL structures on TA_CFGDEVICE. The first device list entry created for a particular TA_CFGDEVICE must have equivalent values for the TA_DEVICE attribute.

INValid
Delete T_DEVICE object for application. State change allowed only when in the VALid state. Successful return leaves the object in the INValid state. Note that TA_DEVINDEX 0 is special and must be deleted last.

Limitations

None.

T_DOMAIN CLASS DEFINITION

Overview

The T_DOMAIN class represents global application attributes. These attribute values serve to identify, customize, size, secure, and tune a TUXEDO System/T application. Many of the attribute values represented here serve as application defaults for other classes represented in this MIB.

There is exactly one object of the T_DOMAIN class for each application. Because of this, there are no key fields defined for this class. A GET operation on this class will always return information representing this lone object. Likewise, a SET operation will update it. GETNEXT is not permitted with this class.

Attribute Table

TM_MIB(5): T_DOMAIN Class Definition Attribute Table
Attribute Type Permissions Values Default
TA_IPCKEY( r ) long rw-r--r-- 32K+1 <= num < 262,144 N/A
TA_MASTER( r ) string rwxr-xr-- "LMID1[,LMID2]" N/A
TA_MODEL( r ) string rw-r--r-- "{SHM|MP}" N/A
TA_STATE string rwxr--r-- GET: "{ACT|INA}" N/A
SET:"{NEW|INV|ACT|INA|FIN}" N/A
TA_DOMAINID string rwxr--r-- string[0...30] ""
TA_COMPONENTS string r--r--r-- {TRANSACTIONS|QUEUE |TDOMAINS|TxRPC|EVENTS |WEBGUI|WSCOMPRESSION |TDOMCOMPRESSION},* N/A
TA_PREFERENCES string rwxr--r-- string[0...1023] ""
TA_UID long rwyr--r-- 0 <= num (Note 1)
TA_GID long rwyr--r-- 0 <= num (Note 1)
TA_PERM long rwyr--r-- 0001 <= num <= 0777 0666
TA_LICEXPIRE string R--R--R-- string[0...78] N/A
TA_LICMAXUSERS long R--R--R-- 0 <= num < 32K N/A
TA_LICSERIAL string R--R--R-- string[0...78] N/A
TA_MIBMASK long rwx------ 0 <= num <= 0777 0000
TA_MAXACCESSERS long rwyr--r-- 1 <= num < 32K 50
TA_MAXCONV long rwyr--r-- 0 <= num < 32K 10
TA_MAXGTT long rwyr--r-- 0 <= num < 32K 100
TA_MAXBUFSTYPE long rw-r--r-- 1 <= num < 32K 32
TA_MAXBUFTYPE long rw-r--r-- 1 <= num < 32K 16
TA_MAXDRT long rw-r--r-- 0 <= num < 32K 0
TA_MAXGROUPS long rw-r--r-- 100 <= num < 32K 100
TA_MAXNETGROUPS long rw-r--r-- 1 <= num < 8192 8
TA_MAXMACHINES long rw-r--r-- 256 <= num < 8K-1 256
TA_MAXQUEUES long rw-r--r-- 1 <= num < 8K 50
TA_MAXRFT long rw-r--r-- 0 <= num < 32K 0
TA_MAXRTDATA long rw-r--r-- 0 <= num < 32,761 0
TA_MAXSERVERS long rw-r--r-- 1 <= num < 8K 50
TA_MAXSERVICES long rw-r--r-- 1 <= num < 32K 100
TA_MAXACLGROUPS long rw-r--r-- 1 <= num <= 16K 16K
TA_CMTRET string rwyr--r-- "{COMPLETE|LOGGED}" "COMPLETE"
TA_LDBAL string rwyr--r-- "{Y|N}" "Y"
TA_NOTIFY string rwyr--r-- "{DIPIN|SIGNAL|IGNORE}" "DIPIN"
TA_SYSTEM_ACCESS string rwyr--r-- "{FASTPATH|PROTECTED} [,NO_OVERRIDE]" "FASTPATH"
TA_OPTIONS string rwyr--r-- "{LAN|MIGRATE|ACCSTATS],*}" ""
TA_USIGNAL string rw-r--r-- "{SIGUSR1|SIGUSR2}" "SIGUSR2"
TA_SECURITY string rw-r--r-- {""|"NONE|APP_PW|USER_AUTH |ACL|MANDATORY_ACL"} "NONE"
TA_PASSWORD string -wx------ string[0...8] N/A
TA_AUTHSVC string rwxr--r-- string[0...15] ""
TA_SCANUNIT long rwxr-xr-- 0 <= num <= 60 10(Note 2)
TA_BBLQUERY long rwxr-xr-- 0 <= num < 32K 300 (Note 3)
TA_BLOCKTIME long rwxr-xr-- 0 <= num < 32K 60 (Note 3)
TA_DBBLWAIT long rwxr-xr-- 0 <= num < 32K 20 (Note 3)
TA_SANITYSCAN long rwxr-xr-- 0 <= num < 32K 120 (Note 3)
TA_CURDRT long R--R--R-- 0 <= num < 32K N/A
TA_CURGROUPS long R--R--R-- 0 <= num < 32K N/A
TA_CURMACHINES long R--R--R-- 0 <= num < 32K N/A
TA_CURQUEUES long R--R--R-- 0 <= num < 32K N/A
TA_CURRFT long R--R--R-- 0 <= num < 32K N/A
TA_CURRTDATA long R--R--R-- 0 <= num < 32K N/A
TA_CURSERVERS long R--R--R-- 0 <= num < 32K N/A
TA_CURSERVICES long R--R--R-- 0 <= num < 32K N/A
TA_CURSTYPE long R--R--R-- 0 <= num < 32K N/A
TA_CURTYPE long R--R--R-- 0 <= num < 32K N/A
TA_HWDRT long R--R--R-- 0 <= num < 32K N/A
TA_HWGROUPS long R--R--R-- 0 <= num < 32K N/A
TA_HWMACHINES long R--R--R-- 0 <= num < 32K N/A
TA_HWQUEUES long R--R--R-- 0 <= num < 32K N/A
TA_HWRFT long R--R--R-- 0 <= num < 32K N/A
TA_HWRTDATA long R--R--R-- 0 <= num < 32K N/A
TA_HWSERVERS long R--R--R-- 0 <= num < 32K N/A
TA_HWSERVICES long R--R--R-- 0 <= num < 32K N/A

( r ) - Required field for object creation (SET TA_STATE NEW)

Note 1. - UID and GID as known to the UNIX System

Note 2. - num must be a multiple of 5

Note 3. - Specify num so that num times TA_SCANUNIT is approximately "Default"

Attribute Semantics

TA_IPCKEY: 32K+1 <= num < 262,144
Numeric key for the well-known address in a TUXEDO System/T bulletin board. In a single processor environment, this key ``names'' the bulletin board. In a multiple processor or LAN environment, this key names the message queue of the DBBL. In addition, this key is used as a basis for deriving the names of resources other than the well-known address, such as the names for bulletin boards throughout the application.

TA_MASTER: LMID1[,LMID2]
Master (LMID1) and backup (LMID2) logical machine identifiers. The master identifier (LMID1) must correspond to the local machine for INActive applications. SHM mode applications (see TA_MODEL below) may set only the master logical machine identifier. Modifications to this attribute value in an ACTive MP application (see TA_MODEL below) have the following semantics:

Assuming current active master LMID A, current backup master LMID B, and secondary LMIDs C, D, ..., the following scenarios define the semantics of permitted changes to the TA_MASTER attribute in a running MP mode application.

A,B -> B,A - Master migration from A to B. A,B -> A,C - Change backup master LMID designation to C.

Note that master migration may be either orderly or partitioned. Orderly migration takes place when the master machine is ACTive and reachable. Otherwise, partitioned migration takes place. All newly established or reestablished network connections will verify that the two sites connecting share a common view of where the master machine is. Otherwise, the connection will be refused and an appropriate log message generated.

The master and backup machines in an ACTive application must always have a TUXEDO System/T release number greater than or equal to all other machines active in the application. The master and backup machines must be of the same release. Modifications to the TA_MASTER attribute must preserve this relationship.

TA_MODEL: {SHM|MP}
Configuration type. SHM specifies a single machine configuration; only one T_MACHINE object may be specified. MP specifies a multi-machine or network configuration; MP must be specified if a networked application is being defined.

TA_STATE:

GET: {ACTive|INActive}
A GET operation will retrieve configuration and runtime information for the T_DOMAIN object. The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned.

ACTive
T_DOMAIN object defined and the master machine is active.

INActive
T_DOMAIN object defined and application is inactive.

SET: {NEW|INValid|ACTive|INActive|FINactive}
A SET operation will update configuration and runtime information for the T_DOMAIN object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.

NEW
Create T_DOMAIN object for application. State change allowed only when in the INValid state. Successful return leaves the object in the INActive state. Note that this state change will also create a NEW T_MACHINE object with TA_LMID inferred from TA_MASTER, TA_PMID based on the local system name, and TA_TUXCONFIG and TA_TUXDIR determined from the environment variables TUXCONFIG and TUXDIR respectively. Other configurable attributes of the T_MACHINE class may be set at this time by including values in the T_DOMAIN NEW request. If a value for TA_APPDIR is not specified, then it will default to the current directory.

unset
Modify T_DOMAIN object. Allowed only when in the ACTive or INActive state. Successful return leaves the object state unchanged.

INValid
Delete T_DOMAIN object for application. State change allowed only when in the INActive state. Successful return leaves the object in the INValid state.

ACTive
Activate administrative processes (DBBL, BBL, etc.) on the master machine. For the purpose of determining permissions for this state transition, the active object permissions are considered (that is, --x--x--x). State change allowed only when in the INActive state. Successful return leaves the object in the ACTive state.

INActive
Deactivate administrative processes (DBBL, BBL, etc.) on the master machine. State change allowed only when in the ACTive state. Successful return leaves the object in the INActive state.

FINactive
Forcibly deactivate administrative processes (DBBL, BBL, etc.) on the master machine. Attached clients will be ignored for the purpose of determining if shutdown should be allowed. State change allowed only when in the ACTive state. Successful return leaves the object in the INActive state.

TA_DOMAINID: string[0...30]
Domain identification string.

TA_COMPONENTS: {TRANSACTIONS|QUEUE|TDOMAINS|TxRPC|EVENTS |WEBGUI|WSCOMPRESSION|TDOMCOMPRESSION},*
The list of components the domain is licensed for. Each token represesnts an independent component in TUXEDO.

TA_PREFERENCES: string[0...1023]
Application defined field. This field is used by the TUXEDO System /Admin GUI product to store and save GUI display preferences.

TA_UID: 0 <= num
Default attribute setting for newly configured objects in the T_MACHINE class.

Limitation: Changes to this attribute do not affect active or already configured T_MACHINE objects.

TA_GID: 0 <= num
Default attribute setting for newly configured objects in the T_MACHINE class.

Limitation: Changes to this attribute do not affect active or already configured T_MACHINE objects.

TA_PERM: 0001 <= num <= 0777
Default attribute setting for newly configured objects in the T_MACHINE class.

Limitation: Changes to this attribute do not affect active or already configured T_MACHINE objects.

TA_LICEXPIRE: string[0...78]
Expiration date for the binary on that machine or a 0-length string if binary is not a TUXEDO System/T master binary.

TA_LICMAXUSERS: 0 <= num < 32K
Licensed maximum number of users on that machine or -1 if binary is not a TUXEDO System/T master binary.

TA_LICSERIAL: string[0...78]
Serial number for binary on that machine or a 0-length string if binary is not a TUXEDO System/T master binary.

TA_MIBMASK: 0 <= num <= 0777
Attribute access mask. User type/access mode combinations specified by this attribute value will no longer be allowed for all class/attribute combinations defined in this manual page. For example, a setting of 0003 disallows all updates to users other than the administrator or the operator.

TA_MAXACCESSERS: 1 <= num < 32K
Default attribute setting for newly configured objects in the T_MACHINE class.

Limitation: Changes to this attribute do not affect active or already configured T_MACHINE objects.

TA_MAXCONV: 0 <= num < 32K
Default attribute setting for newly configured objects in the T_MACHINE class.

Limitation: Changes to this attribute do not affect active or already configured T_MACHINE objects.

TA_MAXGTT: 0 <= num < 32K
Default attribute setting for newly configured objects in the T_MACHINE class.

Limitation: Changes to this attribute do not affect active or already configured T_MACHINE objects.

TA_MAXBUFSTYPE: 1 <= num < 32K

Maximum number of buffer subtypes that can be accommodated in the bulletin board buffer subtype table.

TA_MAXBUFTYPE: 1 <= num < 32K
Maximum number of buffer types that can be accommodated in the bulletin board buffer type table.

TA_MAXDRT: 0 <= num < 32K
Maximum number of routing table entries that can be accommodated in the bulletin board routing table. One entry per T_ROUTING class object is required. Additional entries should be allocated to allow for runtime growth.

TA_MAXGROUPS: 100 <= num < 32K
Maximum number of server groups that can be accommodated in the bulletin board server group table.

Limitation: TUXEDO System/T Release 4.2.2 and earlier sites have a fixed setting of 100 for this attribute. Interoperability with these sites requires that no more than 100 server group entries be in use at any time. Release 4.2.2 and earlier sites will not be allowed to join an application that has more than 100 defined server groups. Additionally, applications already including Release 4.2.2 or earlier sites will not be allowed to add server groups beyond 100.

TA_MAXNETGROUPS: 1 <=num<8192
specifies the maximum number of configured network groups to be accommodated in the NETWORK section of the TUXCONFIG file. This value must be greater than or equal to 1 and less than 8192. If not specified, the default value is 8.
TA_MAXMACHINES: 256 <= num < 8K-1
Maximum number of machines that can be accommodated in the bulletin board machine table.

Limitation: TUXEDO System/T Release 4.2.2 has a fixed setting of 256 for this attribute. Releases prior to Release 4.2.2 have a fixed setting of 50 for this attribute. Interoperability with Release 4.2.2 and earlier sites requires that no more than the lowest fixed setting number of machine table entries be in use at any time. Release 4.2.2 sites will not be allowed to join an application that has more than 256 defined machines. Pre-Release 4.2.2 sites will not be allowed to join an application that has more than 50 defined machines. Additionally, applications already including active Release 4.2.2 or earlier sites will not be allowed to add machines beyond the lowest applicable limit.

TA_MAXQUEUES: 1 <= num < 8K
Maximum number of queues to be accommodated in the bulletin board queue table.

Limitation: Release 4.2.2 and earlier sites may join an active application only if the setting for TA_MAXQUEUES is equal to the setting for TA_MAXSERVERS.

TA_MAXRFT: 0 <= num < 32K
Maximum number of routing criteria range table entries to be accommodated in the bulletin board range criteria table. One entry per individual range within a TA_RANGES specification is required plus one additional entry per T_ROUTING class object. Additional entries should be allocated to allow for runtime growth.

TA_MAXRTDATA: 0 <= num < 32,761
Maximum string pool space to be accommodated in the bulletin board string pool table. Strings and carrays specified within TA_RANGES values are stored in the string pool. Additional space should be allocated to allow for runtime growth.

TA_MAXSERVERS: 1 <= num < 8K
Maximum number of servers to be accommodated in the bulletin board server table. Allowances should be made in setting this attribute for system supplied administrative servers. Administration of each System/T site adds approximately one server. Additionally, if TMSs are specified for any server groups (see T_GROUP TA_TMSNAME attribute), then they will be booted along with their server group and should be accounted for in setting TA_MAXSERVERS.

TA_MAXSERVICES: 1 <= num < 32K
Maximum number of services to be accommodated in the bulletin board service table. Allowances should be made in setting this attribute for system supplied servers offering services for administrative purposes. Administration of each System/T site adds approximately five services. Other administrative components such as /WS, /Q, and /DM may also add administrative services that should be accounted for.

TA_MAXACLGROUPS: 1 <= num < 16K
Maximum number of group identifiers that can be used for ACL permissions checking. The maximum group identifier that can be defined is TA_MAXACLGROUPS - 1.

TA_CMTRET: {COMPLETE|LOGGED}
Initial setting of the TP_COMMIT_CONTROL characteristic for all client and server processes in a System/T application. LOGGED initializes the TP_COMMIT_CONTROL characteristic to TP_CMT_LOGGED; otherwise, it is initialized to TP_CMT_COMPLETE. See the description of the System/T ATMI function tpscmt(3c) for details on the setting of this characteristic.

Limitation: Runtime modifications to this attribute do not affect active clients and servers.

TA_LDBAL: {Y|N}
Load balancing is/will be on ("Y") or off ("N").

Limitation: Runtime modifications to this attribute do not affect active clients and servers.

TA_NOTIFY: {DIPIN|SIGNAL|IGNORE}
Default notification detection method to be used by the system for unsolicited messages sent to client processes. This default value can be overridden on a per-client basis using the appropriate tpinit(3c) flag value. Note that once unsolicited messages are detected, they are made available to the application through the application defined unsolicited message handling routine identified via the tpsetunsol(3c) function.

The value DIPIN specifies that dip-in-based notification detection should be used. This means that the system will only detect notification messages on behalf of a client process while within ATMI calls. The point of detection within any particular ATMI call is not defined by the system, and dip-in detection will not interrupt blocking system calls. DIPIN is the default notification detection method.

The value SIGNAL specifies that signal-based notification detection should be used. This means that the system sends a signal to the target client process after the notification message has been made available. The system installs a signal catching routine on behalf of clients selecting this method of notification. The value IGNORE specifies that by default, notification messages are to be ignored by application clients. This would be appropriate in applications where only clients that request notification at tpinit(3c) time should receive unsolicited messages.

Limitations: Runtime modifications to this attribute do not affect active clients. All signaling of client processes is done by administrative system processes and not by application processes. Therefore, only clients running with the same UNIX System user identifier can be notified using the SIGNAL method.

TA_SYSTEM_ACCESS: {FASTPATH|PROTECTED}[,NO_OVERRIDE]
Default mode used by System/T libraries within application processes to gain access to System/T's internal tables. FASTPATH specifies that System/T's internal tables are accessible by System/T libraries via unprotected shared memory for fast access. PROTECTED specifies that System/T's internal tables are accessible by System/T libraries via protected shared memory for safety against corruption by application code. NO_OVERRIDE can be specified to indicate that the mode selected cannot be overridden by an application process using flags available for use with tpinit(3c).

Limitations: Updates to this attribute value in a running application affect only newly started clients and newly configured T_SERVER objects.

TA_OPTIONS: {LAN|MIGRATE|ACCSTATS],*}
Comma separated list of application options in effect. Valid options are defined below: LAN - Networked application. MIGRATE - Allow server group migration. ACCSTATS - Exact statistics (SHM mode only).

Limitation: Only the ACCSTATS may be set or reset in an active application.

TA_USIGNAL: {SIGUSR1|SIGUSR2}
Signal to be used for signal-based notification (see TA_NOTIFY above).

TA_SECURITY: {NONE|APP_PW|USER_AUTH|ACL|MANDATORY_ACL}
Type of application security. A 0-length string value or NONE for this attribute indicates that security is/will be turned off. The identifier APP_PW indicates that application password security is to be enforced (clients must provide the application password during initialization). Setting this attribute requires a non-0 length TA_PASSWORD attribute. The identifier USER_AUTH is similar to APP_PW but, in addition, indicates that per-user authentication will be done during client initialization. The identifier ACL is similar to USER_AUTH but, in addition, indicates that access control checks will be done on service names, queue names, and event names. If an associated ACL is not found for a name, it is assumed that permission is granted. The identifier MANDATORY_ACL is similar to ACL but permission is denied if an associated ACL is not found for the name.

TA_PASSWORD: string[0...8]
Clear text application password. This attribute is ignored if the TA_SECURITY attribute is set to nothing. Note that the system will automatically encrypt this information on behalf of the administrator.

TA_AUTHSVC: string[0...15]
Application authentication service invoked by the system for each client joining the system. This attribute is ignored if the TA_SECURITY attribute is set to nothing or to APP_PW.

TA_SCANUNIT: 0 <= num <= 60 (multiple of 5)
Interval of time (in seconds) between periodic scans by the system. Periodic scans are used to detect old transactions and timed-out blocking calls within service requests. The TA_BBLQUERY, TA_BLOCKTIME, TA_DBBLWAIT, and TA_SANITYSCAN attributes are multipliers of this value. Passing a value of 0 for this attribute on a SET operation will cause the attribute to be reset to its default value.

TA_BBLQUERY: 0 <= num < 32K
Multiplier of the TA_SCANUNIT attribute indicating time between DBBL status checks on registered BBLs. The DBBL checks to ensure that all BBLs have reported in within the TA_BBLQUERY cycle. If a BBL has not been heard from, the DBBL sends a message to that BBL asking for status. If no reply is received, the BBL is partitioned. Passing a value of 0 for this attribute on a SET operation will cause the attribute to be reset to its default value. This attribute value should be set to at least twice the value set for the TA_SANITYSCAN attribute value (see below).

TA_BLOCKTIME: 0 <= num < 32K
Multiplier of the TA_SCANUNIT attribute indicating the minimum amount of time a blocking ATMI call will block before timing out. Passing a value of 0 for this attribute on a SET operation will cause the attribute to be reset to its default value.

TA_DBBLWAIT: 0 <= num < 32K
Multiplier of the TA_SCANUNIT attribute indicating maximum amount of time a DBBL should wait for replies from its BBLs before timing out. Passing a value of 0 for this attribute on a SET operation will cause the attribute to be reset to its default value.

TA_SANITYSCAN: 0 <= num < 32K
Multiplier of the TA_SCANUNIT attribute indicating time between basic sanity checks of the system. Sanity checking includes client/server viability checks done by each BBL for clients/servers running on the local machine as well as BBL status check-ins (MP mode only). Passing a value of 0 for this attribute on a SET operation will cause the attribute to be reset to its default value.

TA_CURDRT: 0 <= num < 32K
Current number of in use bulletin board routing table entries.

TA_CURGROUPS: 0 <= num < 32K
Current number of in use bulletin board server group table entries.

TA_CURMACHINES: 0 <= num < 32K
Current number of configured machines.

TA_CURQUEUES: 0 <= num < 32K
Current number of in use bulletin board queue table entries.

TA_CURRFT: 0 <= num < 32K
Current number of in use bulletin board routing criteria range table entries.

TA_CURRTDATA: 0 <= num < 32K
Current size of routing table string pool.

TA_CURSERVERS: 0 <= num < 32K
Current number of in use bulletin board server table entries.

TA_CURSERVICES: 0 <= num < 32K
Current number of in use bulletin board service table entries.

TA_CURSTYPE: 0 <= num < 32K
Current number of in use bulletin board subtype table entries.

TA_CURTYPE: 0 <= num < 32K
Current number of in use bulletin board type table entries.

TA_HWDRT: 0 <= num < 32K
High water number of in use bulletin board routing table entries.

TA_HWGROUPS: 0 <= num < 32K
High water number of in use bulletin board server group table entries.

TA_HWMACHINES: 0 <= num < 32K
High water number of configured machines.

TA_HWQUEUES: 0 <= num < 32K
High water number of in use bulletin board queue table entries.

TA_HWRFT: 0 <= num < 32K
High water number of in use bulletin board routing criteria range table entries.

TA_HWRTDATA: 0 <= num < 32K
High water size of routing table string pool.

TA_HWSERVERS: 0 <= num < 32K
High water number of in use bulletin board server table entries.

TA_HWSERVICES: 0 <= num < 32K
High water number of in use bulletin board service table entries.

Limitations

Many attributes of this class are tunable only when the application is inactive. Therefore, use of the ATMI interface routines to administer the application is not possible. The function tpadmcall(3c) is being provided as a means of configuring or reconfiguring an unbooted application. This interface may only be used for configuration (SET operations) in an inactive application and only on the site being configured as the master site for the application. Once an initial configuration is created and activated, administration is available through the standard ATMI interfaces as described in MIB(5).

T_GROUP CLASS DEFINITION

Overview

The T_GROUP class represents application attributes pertaining to a particular server group. These attribute values represent group identification, location, and DTP information.

Attribute Table

TM_MIB(5): T_GROUP Class Definition Attribute Table
Attribute Type Permissions Values Default
TA_SRVGRP( r )( * ) string rU-r--r-- string[1...30] N/A
TA_GRPNO( k )( r ) long rU-r--r-- 1 <= num < 30,000 N/A
TA_LMID( k )( r ) string rwyr--r-- "LMID1[,LMID2]" N/A
TA_STATE( k ) string rwxr-xr-- GET:"{ACT|INA|MIG}" N/A
SET:"{NEW|INV|ACT|RAC| INA|MIG|UAV|AVL}" N/A
TA_CURLMID( k ) string R--R--R-- LMID N/A
TA_CLOSEINFO string rwyr--r-- string[0...256] ""
TA_OPENINFO string rwyr--r-- string[0...256] ""
TA_TMSCOUNT long rw-r--r-- 0 or 2 <= num < 11 3
TA_TMSNAME( k ) string rw-r--r-- string[0...78] ""

( k ) - GET key field

( r ) - Required field for object creation (SET TA_STATE NEW)

( * ) - GET/SET key, one or more required for SET operations

Attribute Semantics

TA_SRVGRP: string[1...30]
Logical name of the server group. The group name must be unique within all group names in the T_GROUP class and TA_LMID values in the T_MACHINE class. Server group names cannot contain an asterisk (*), comma, or colon.

TA_GRPNO: 1 <= num < 30,000
Group number associated with this server group.

TA_LMID: LMID1[,LMID2]
Primary machine logical machine identifier for this server group (LMID1) and optional secondary logical machine identifier (LMID2). The secondary LMID indicates the machine to which the server group can be migrated (if the MIGRATE option is specified in the T_DOMAIN:TA_OPTIONS attribute). A single LMID specified on a GET operation will match either the primary or secondary LMID. Note that the location of an active group is available in the TA_CURLMID attribute. Logical machine identifiers specified with the TA_LMID attribute must be already configured.

Limitation: Modifications to this attribute for an active object may only change the backup LMID designation for the group.

TA_STATE:
GET: {ACTive|INActive|MIGrating}
A GET operation will retrieve configuration and runtime information for the selected T_GROUP object(s). The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned.

ACTive
T_GROUP object defined and active (TMS and/or application servers). Server groups with non 0-length values for the TA_TMSNAME attribute are considered active if the TMSs associated with the group are active. Otherwise, a group is considered active if any server in the group is active.

INActive
T_GROUP object defined and inactive.

MIGrating
T_GROUP object defined and currently in a state of migration to the secondary logical machine. The secondary logical machine is the one listed in TA_LMID that does not match TA_CURLMID. This state is ACTive equivalent for the purpose of determining permissions.

SET: {NEW|INValid|ACTive|ReACtivate|INActive|MIGrating|UnAVailable|AVailable}
A SET operation will update configuration and runtime information for the selected T_GROUP object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.

NEW
Create T_GROUP object for application. State change allowed only when in the INValid state. Successful return leaves the object in the INActive state.

unset
Modify an existing T_GROUP object. This combination is allowed only when in the ACTive or INActive state. Successful return leaves the object state unchanged.

INValid
Delete T_GROUP object for application. State change allowed only when in the INActive state. Successful return leaves the object in the INValid state.

ACTive
Activate the T_GROUP object. State change allowed only when in the INActive or MIGrating state. For the purpose of determining permissions for this state transition, the active object permissions are considered (that is, --x--x--x). If the group is currently in the INActive state, then TMS and application servers (subject to restriction by TA_FLAGS settings) are started on the primary logical machine if the primary logical machine is active; otherwise, the TMS and application servers are started on the secondary logical machine if it is active. If neither machine is active, then the request fails. If the group is currently in the MIGrating state, then the active secondary logical machine (identified as the alternate to TA_CURLMID in the TA_LMID list) is used to start TMS and application servers if it is active. Otherwise, the request fails. The TMIB_NOTIFY TA_FLAG value should be used when activating a server group if status on individual servers is required. Successful return leaves the object in the ACTive state.

ReACtivate
Identical to a transition to the ACTive state except that this state change is also allowed in the ACTive state in addition to being allowed in the INActive and MIGrating states. The TMIB_NOTIFY TA_FLAG value should be used when reactivating a server group if status on individual servers is required.

INActive
Deactivate the T_GROUP object. TMS and application servers (subject to restriction by TA_FLAGS settings) are deactivated. State change allowed only when in the ACTive or MIGrating state. Successful return leaves the object in the INActive state. The TMIB_NOTIFY TA_FLAG value should be used when deactivating a server group if status on individual servers is required.

MIGrating
Deactivate the T_GROUP object on its active primary logical machine (TA_CURLMID) and prepare the group to be migrated to the secondary logical machine. State change allowed only when in the ACTive state. Successful return leaves the object in the MIGrating state.

UnAVailable
Suspend all application services in the group. (Note: Individual services can be suspended through the T_SVCGRP class.) A SET operation to this state value is allowed only when the group is in the ACTive state. The operation leaves the group in the ACTive state, but with all its application services in a suspended state.
Limitation: Operation will fail in a mixed release application where any pre-release 6.4 machine is active.

AVaiLable
Unsuspend all application services in the group, which are marked as suspended. A SET operation to this state value is allowed only when the group is in the ACTive state. The operation leaves the group in the ACTive state.
Limitation: Operation will fail in a mixed release application where any pre-release 6.4 machine is active.

TA_CURLMID: LMID
Current logical machine on which the server group is running. This attribute will not be returned for server groups that are not active.

TA_CLOSEINFO: string[0...256]
If a non 0-length value other than "TMS" is specified for the TA_TMSNAME attribute, then this attribute value indicates the resource manager dependent information needed when terminating access to the resource manager. Otherwise, this attribute value is ignored. The format for this attribute value is dependent on the requirements of the vendor providing the underlying resource manager. The information required by the vendor must be prefixed with ``rm_name:'', which is the published name of the vendor's transaction (XA) interface followed immediately by a colon (:). A 0-length string value for this attribute means that the resource manager for this group (if specified) does not require any application specific information to close access to the resource.

Limitation: Runtime modifications to this attribute will not affect active servers in the group.

TA_OPENINFO: string[0...256]
If a non 0-length value other than "TMS" is specified for the TA_TMSNAME attribute, then this attribute value indicates the resource manager dependent information needed when initiating access to the resource manager. Otherwise, this attribute value is ignored. The format for this attribute value is dependent on the requirements of the vendor providing the underlying resource manager. The information required by the vendor must be prefixed with ``rm_name:'', which is the published name of the vendor's transaction (XA) interface followed immediately by a colon (:). A 0-length string value for this attribute means that the resource manager for this group (if specified) does not require any application specific information to open access to the resource.

Limitation: Runtime modifications to this attribute will not affect active servers in the group.

TA_TMSCOUNT: 0 or 2 <= num < 11
If a non 0-length value is specified for the TA_TMSNAME attribute, then this attribute value indicates the number of transaction manager servers to start for the associated group. Otherwise, this attribute value is ignored.

TA_TMSNAME: string[0...78]
Transaction manager server a.out associated with this group. This parameter must be specified for any group entry whose servers will participate in distributed transactions (transactions across multiple resource managers and possibly machines that are started with tpbegin(3c), and ended with tpcommit(3c)/ tpabort(3c)). The value "TMS" is reserved to indicate use of the null XA interface. If a non-empty value other than "TMS" is specified, then a TLOGDEVICE must be specified for the machine(s) associated with the primary and secondary logical machines for this object. A unique server identifier is selected automatically for each TM server, and the servers will be restartable an unlimited number of times.

Limitations

None.

T_MACHINE CLASS DEFINITION

Overview

The T_MACHINE class represents application attributes pertaining to a particular machine. These attribute values represent machine characteristics, per-machine sizing, statistics, customization options, and UNIX System filenames.

Attribute Table

TM_MIB(5): T_MACHINE Class Definition Attribute Table
Attribute Type Permissions Values Default
TA_LMID( r )( * ) (Note 1) string rU-r--r-- string[1...30] N/A
TA_PMID( r )( * ) (Note 1) string rU-r--r-- string[1...30] N/A
TA_TUXCONFIG( r ) string rw-r--r-- string[2...64] N/A
TA_TUXDIR( r ) string rw-r--r-- string[2...78] N/A
TA_APPDIR( r ) string rw-r--r-- string[2...78] N/A
TA_STATE( k ) string rwyr-yr-- GET:"{ACT|INA|PAR}" N/A
SET:"{NEW|INV|ACT|RAC| INA|FIN|CLE}" N/A
TA_UID long rw-r--r-- 0 <= num (Note 2)
TA_GID long rw-r--r-- 0 <= num (Note 2)
TA_ENVFILE string rwyr--r-- string[0...78] ""
TA_PERM long rwyr--r-- 0001 <= num <= 0777 (Note 2)
TA_ULOGPFX string rwyr--r-- string[0...78] (Note 3)
TA_TYPE string rw-r--r-- string[0...15] ""
TA_MAXACCESSERS long rw-r--r-- 1 <= num < 32K (Note 2)
TA_MAXCONV long rw-r--r-- 0 <= num < 32K (Note 2)
TA_MAXGTT long rw-r--r-- 0 <= num < 32K (Note 2)
TA_MAXWSCLIENTS long rw-r--r-- 0 <= num < 32K 0
TA_MAXACLCACHE long rw-r--r-- 10 <= num <= 32000 100
TA_TLOGDEVICE string rw-r--r-- string[0...64] ""
TA_TLOGNAME string rw-r--r-- string[0...30] TLOG
TA_TLOGSIZE long rw-r--r-- 1 <= num < 2K+1 100
TA_BRIDGE string rw-r--r-- string[0...78] N/A
TA_NADDR string rw-r--r-- string[0...78] N/A
TA_NLSADDR string rw-r--r-- string[0...78] N/A
TA_CMPLIMIT string rwyr-yr-- "remote[,local]" MAXLONG,MAXLONG
TA_TMNETLOAD long rwyr-yr-- 0 <= num < 32K 0
TA_SPINCOUNT long rwyr-yr-- 0 <= num 0
TA_ROLE string r--r--r-- "{MASTER|BACKUP|OTHER}" N/A
TA_MINOR long R--R--R-- 1 <= num N/A
TA_RELEASE long R--R--R-- 1 <= num N/A
TA_MINENCRYPTBIT string rwxrwx--- { 0 | 40 | 128 } 0
TA_MAXENCRYPTBIT string rwxrwx--- { 0 | 40 | 128 } 128
TA_MAXPENDINGBYTES long rw-r--r-- 100000 <= num <= MAXLONG 2147483647

T_MACHINE Class: LOCAL Attributes
Attribute Type Permissions Values Default
TA_CURACCESSERS long R--R--R-- 0 <= num < 32K N/A
TA_CURCLIENTS long R--R--R-- 0 <= num < 32K N/A
TA_CURCONV long R--R--R-- 0 <= num < 32K N/A
TA_CURGTT long R--R--R-- 0 <= num < 32K N/A
TA_CURRLOAD long R--R--R-- 0 <= num N/A
TA_CURWSCLIENTS long R--R--R-- 0 <= num < 32K N/A
TA_HWACCESSERS long R--R--R-- 0 <= num < 32K N/A
TA_HWCLIENTS long R--R--R-- 0 <= num < 32K N/A
TA_HWCONV long R--R--R-- 0 <= num < 32K N/A
TA_HWGTT long R--R--R-- 0 <= num < 32K N/A
TA_HWWSCLIENTS long R--R--R-- 0 <= num < 32K N/A
TA_NUMCONV long R-XR-XR-- 0 <= num N/A
TA_NUMDEQUEUE long R-XR-XR-- 0 <= num N/A
TA_NUMENQUEUE long R-XR-XR-- 0 <= num N/A
TA_NUMPOST long R-XR-XR-- 0 <= num N/A
TA_NUMREQ long R-XR-XR-- 0 <= num N/A
TA_NUMSUBSCRIBE long R-XR-XR-- 0 <= num N/A
TA_NUMTRAN long R-XR-XR-- 0 <= num N/A
TA_NUMTRANABT long R-XR-XR-- 0 <= num N/A
TA_NUMTRANCMT long R-XR-XR-- 0 <= num N/A
TA_PAGESIZE long R--R--R-- 1 <= num N/A
TA_SWRELEASE string R--R--R-- string[0...78] N/A
TA_HWACLCACHE long R--R--R-- 0 <= num N/A
TA_ACLCACHEHITS long R--R--R-- 0 <= num N/A
TA_ACLCACHEACCESS long R--R--R-- 0 <= num N/A
TA_ACLFAIL long R--R--R-- 0 <= num N/A
TA_WKCOMPLETED long R--R--R-- 0 <= num N/A
TA_WKINITIATED long R--R--R-- 0 <= num N/A

( k ) - GET key field

( r ) - Required field for object creation (SET TA_STATE NEW)

( * ) - GET/SET key, one or more required for SET operations

Note 1.
TA_LMID and TA_PMID must each be unique within this class. Only one of these fields is required as a key field for a SET operation. If both are specified, then they must match the same object.

Note 2.
Default is same as value set for this attribute in Class T_DOMAIN.

Note 3.
Default is TA_APPDIR for this machine followed by /ULOG.

Attribute Semantics

TA_LMID: string[1...30]
Logical machine identifier. This identifier is used within the rest of the TM_MIB definition as the sole means of mapping application resources to T_MACHINE objects.

TA_PMID: string[1...30]
Physical machine identifier. This identifier should match the UNIX System nodename as returned by the ``uname -n'' command when run on the identified system.

TA_TUXCONFIG: string[2...64]
Absolute pathname of the file or device where the binary TUXEDO System/T configuration file is found on this machine. The administrator need only maintain one such file, namely the one identified by the TA_TUXCONFIG attribute value on the master machine. The information contained in this file is automatically propagated to all other T_MACHINE objects as they are activated. See TA_ENVFILE below for a discussion of how this attribute value is used in the environment.

TA_TUXDIR: string[2...78]
Absolute pathname of the directory where the TUXEDO System/T software is found on this machine. See TA_ENVFILE below for a discussion of how this attribute value is used in the environment.

TA_APPDIR: string[2...78]
Colon separated list of application directory absolute pathnames. The first directory serves as the current directory for all application and administrative servers booted on this machine. All directories in the list are searched when starting application servers. See TA_ENVFILE below for a discussion of how this attribute value is used in the environment.

TA_STATE:
GET: {ACTive|INActive|PARtitioned}
A GET operation will retrieve configuration and runtime information for the selected T_MACHINE object(s). The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned.

ACTive
T_MACHINE object defined and active (administrative servers, that is, DBBL, BBL, and BRIDGE).

INActive
T_MACHINE object defined and inactive.

PARtitioned
T_MACHINE object defined, listed in accessible bulletin boards as active, but currently unreachable. This state is ACTive equivalent for the purpose of determining permissions.

SET: {NEW|INValid|ACTive|ReACtivate|INActive|ForceINactive|CLEaning}
A SET operation will update configuration and runtime information for the selected T_MACHINE object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.

NEW
Create T_MACHINE object for application. State change allowed only when in the INValid state. Successful return leaves the object in the INActive state.

unset
Modify an existing T_MACHINE object. This combination is allowed only when in the ACTive or INActive state. Successful return leaves the object state unchanged.

INValid
Delete T_MACHINE object for application. State change allowed only when in the INActive state. Successful return leaves the object in the INValid state.

ACTive
Activate the T_MACHINE object. Necessary administrative servers such as the DBBL, BBL, and BRIDGE are started on the indicated site as well as application servers configured to run on that site (subject to restriction by TA_FLAGS settings). For the purpose of determining permissions for this state transition, the active object permissions are considered (that is, --x--x--x). State change allowed only when in the INActive state. Successful return leaves the object in the ACTive state. The TMIB_NOTIFY TA_FLAG value should be used when activating a machine if status on individual servers is required.

ReACtivate
Activate the T_MACHINE object. Necessary administrative servers such as the DBBL, BBL, and BRIDGE are started on the indicated site as well as application servers configured to run on that site (subject to restriction by TA_FLAGS settings). For the purpose of determining permissions for this state transition, the active object permissions are considered (that is, --x--x--x). State change allowed only when in either the ACTive or INActive state. Successful return leaves the object in the ACTive state. The TMIB_NOTIFY TA_FLAG value should be used when reactivating a machine if status on individual servers is required.

INActive
Deactivate the T_MACHINE object. Necessary administrative servers such as the BBL and BRIDGE are stopped on the indicated site as well as application servers running on that site (subject to restriction by TA_FLAGS settings). State change allowed only when in the ACTive state and when no other application resources are active on the indicated machine. Successful return leaves the object in the INActive state. The TMIB_NOTIFY TA_FLAG value should be used when deactivating a machine if status on individual servers is required.

ForceINactive
Deactivate the T_MACHINE object without regard to attached clients. Necessary administrative servers such as the BBL and BRIDGE are stopped on the indicated site as well as application servers running on that site (subject to restriction by TA_FLAGS settings). State change allowed only when in the ACTive state. Successful return leaves the object in the INActive state. The TMIB_NOTIFY TA_FLAG value should be used when deactivating a machine if status on individual servers is required.

CLEaning

Initiate cleanup/scanning activities on and relating to the indicated machine. If there are dead clients or servers on the machine, they will be detected at this time. If the machine has been partitioned from the application MASTER site, then global bulletin board entries for that machine will be removed. This combination is allowed when the application is in the ACTive state and the T_MACHINE object is in either the ACTive or PARtitioned state. Successful return for a non-partitioned machine leaves the state unchanged. Successful return for a partitioned machine leaves the object in the INActive state.

Limitation: State change to ForceINactive or INActive allowed only for non-master machines. The master site administrative processes are deactivated via the T_DOMAIN class.

TA_UID: 0 <= num
UNIX System user identifier for the TUXEDO System/T application administrator on this machine. Administrative commands such as tmboot(1), tmshutdown(1), and tmadmin(1) must run as the indicated user on this machine. Application and administrative servers on this machine will be started as this user.

Limitation: This is a UNIX System-specific attribute that may not be returned if the platform on which the application is being run is not UNIX-based.

TA_GID: 0 <= num
UNIX System group identifier for the TUXEDO System/T application administrator on this machine. Administrative commands such as tmboot(1), tmshutdown(1), and tmadmin(1) must run as part of the indicated group on this machine. Application and administrative servers on this machine will be started as part of this group.

Limitation: This is a UNIX System-specific attribute that may not be returned if the platform on which the application is being run is not UNIX-based.

TA_ENVFILE: string[0...78]
Environment file for clients and servers running on this machine. If the value specifies an invalid file name, no values are added to the environment. the value of string is placed into the environment as described in tuxreadenv(3c). When booting servers, local servers inherit the environment of tmboot(1) and remote servers (not on the MASTER) inherit the environment of tlisten(1). TUXCONFIG, TUXDIR, and APPDIR are also put into the environment when a server is booted based on the information in the associated T_MACHINE object. PATH will be set in the environment to

APPDIR:TUXDIR/bin:/bin:/usr/bin:&ltpath>

where &ltpath> is the value of the first PATH= line appearing in the machine environment file, if one exists (subsequent PATH= lines will be ignored). This PATH will be used as a search path for servers that are specified with a simple or relative pathname (i.e., that doesn't begin with slash). LD_LIBRARY_PATH will be set in the environment to

APPDIR:TUXDIR/&ltlib:/lib:/usr/lib:lib>

where &ltlib> is the value of the first LD_LIBRARY_PATH= line appearing in the machine environment file, if one exists (subsequent LD_LIBRARY_PATH= lines will be ignored).

As part of server initialization (before tpsvrinit(3c) is called), a server will read and export variables from both the machine and server ENVFILE files. If a variable is set in both the machine and server ENVFILE, the value in the server ENVFILE will override the value in the machine ENVFILE with the exception of PATH which is appended. A client will process only the machine ENVFILE file. When the machine and server ENVFILE files are processed, lines that are not of the form &ltident>= will be ignored, where &ltident> begins with an underscore or alphabetic character, and contains only underscore or alphanumeric characters. If a PATH= line is encountered, PATH will be set to

APPDIR:TUXDIR/bin:/bin:/usr/bin:&ltpath>

where &ltpath> is the value of the first PATH= line appearing in the environment file (subsequent PATH= lines are ignored). If PATH appears in both the machine and server files, then &ltpath> is &ltpath1>:&ltpath2> where &ltpath1> is from the machine ENVFILE and &ltpath2> is from the server ENVFILE. If a LD_LIBRARY_PATH= line is encountered, LD_LIBRARY_PATH will be set to

APPDIR:TUXDIR/lib:/lib:/usr/lib:&ltlib>

where &ltlib> is the value of the first LD_LIBRARY_PATH= line appearing in the environment file (subsequent LD_LIBRARY_PATH= lines are ignored). Attempts to reset TUXDIR, APPDIR, or TUXCONFIG will be ignored and a warning will be printed if the value does not match the corresponding T_MACHINE attribute value.

Limitation: Modifications to this attribute for an active object will not affect running servers or clients.

TA_PERM: 0001 <= num <= 0777
UNIX System permissions associated with the shared memory bulletin board created on this machine. Default UNIX System permissions for system and application message queues.

Limitations: Modifications to this attribute for an active object will not affect running servers or clients. This is a UNIX System-specific attribute that may not be returned if the platform on which the application is being run is not UNIX-based.

TA_ULOGPFX: string[0...78]
Absolute pathname prefix of the path for the userlog(3c) file on this machine. The userlog(3c) file name is formed by appending the string .mmddyy to the TA_ULOGPFX attribute value. mmddyy represents the month, day, and year that the messages were generated. All application and system userlog(3c) messages generated by clients and servers running on this machine are directed to this file.

Limitation: Modifications to this attribute for an active object will not affect running servers or clients.

TA_TYPE: string[0...15]
Machine type. Used to group machines into classes of like data representations. Data encoding is not performed when communicating between machines of identical types. This attribute can be given any string value; values are used only for comparison. Distinct TA_TYPE attributes should be set when the application spans a heterogeneous network of machines or when compilers generate dissimilar structure representations. The default value for this attribute, a 0-length string, matches any other machine with a 0-length string as its TA_TYPE attribute value.

TA_MAXACCESSERS: 1 <= num < 32K
Maximum number of clients and servers that can have access to the bulletin board on this machine at one time. System administration processes such as the BBL and tmadmin need not be accounted for in this figure, but all application servers and clients and TMS servers should be counted. If the application is booting workstation listeners on this site, then both the listeners and the potential number of workstation handlers that may be booted should be counted.

TA_MAXCONV: 0 <= num < 32K
Maximum number of simultaneous conversations in which clients and servers on this machine can be involved.

TA_MAXGTT: 0 <= num < 32K
Maximum number of simultaneous global transactions in which this machine can be involved.

TA_MAXWSCLIENTS: 0 <= num < 32K
Number of accesser entries on this machine to be reserved for workstation clients. The number specified here takes a portion of the total accesser slots specified with the TA_MAXACCESSERS attribute. The appropriate setting of this parameter helps to conserve IPC resources since workstation client access to the system is multiplexed through a System/T supplied surrogate, the workstation handler. It is an error to set this number greater than TA_MAXACCESSERS.

TA_MAXACLCACHE: 10 <= num <= 32000
Number of entries in the cache used for ACL entries when TA_SECURITY is set to ACL or MANDATORY_ACL. The appropriate setting of this parameter helps to conserve on shared memory resources and yet reduce the number of disk access to do ACL checking.

TA_TLOGDEVICE: string[0...64]
The device (raw slice) or UNIX System file containing the TUXEDO System/T filesystem that holds the DTP transaction log for this machine. The DTP transaction log is stored as a TUXEDO System/T VTOC table on the device. This device or file may be the same as that specified for the TA_TUXCONFIG attribute for this machine.

TA_TLOGNAME: string[0...30]
The name of the DTP transaction log for this machine. If more than one DTP transaction log exists on the same TA_TLOGDEVICE, they must have unique names. TA_TLOGNAME must be different from the name of any other table on the TA_TLOGDEVICE where the DTP transaction log table is created.

TA_TLOGSIZE: 1 <= num < 2K+1
The numeric size, in pages, of the DTP transaction log for this machine. The TA_TLOGSIZE attribute value is subject to limits based on available space in the TUXEDO System/T filesystem identified by the TA_TLOGDEVICE attribute.

TA_BRIDGE: string[0...78]
Device name to be used by the BRIDGE process placed on this logical machine to access the network. This is a required value for participation in a networked application via a TLI-based TUXEDO System/T binary. This attribute is not needed for sockets-based TUXEDO System/T binaries.

TA_NADDR: string[0...78]
Specifies the complete network address to be used by the BRIDGE process placed on the logical machine as its listening address. The listening address for a BRIDGE is the means by which it is contacted by other BRIDGE processes participating in the application. This attribute must be set if the logical machine is to participate in a networked application, that is, if the LAN option is set in the T_DOMAIN:TA_OPTIONS attribute value. If string has the form ``0xhex-digits'' or ``\\xhex-digits'', it must contain an even number of valid hex digits. These forms are translated internally into a character array containing the hexadecimal representations of the string specified. For TCP/IP addresses either the

"//hostname:port"
or
"//#.#.#.#:port"

format is used.

TA_NLSADDR: string[0...78]
Network address used by the tlisten(1) process servicing the network on the node identified by this logical machine. This network address is of the same format as that specified for the TA_NADDR attribute above. This attribute must be set if the logical machine is to participate in a networked application, that is, if the LAN option is set in the T_DOMAIN:TA_OPTIONS attribute value.

TA_CMPLIMIT: remote[,local]
Threshold message size at which compression will occur for remote traffic and optionally local traffic. remote and local may be either non-negative numeric values or the string ``MAXLONG'', which is dynamically translated to the maximum long setting for the machine. Setting only the remote value will default local to MAXLONG.

Limitation: This attribute value is not part of the T_MACHINE object for active sites running TUXEDO System/T Release 4.2.2 or earlier. However, site release identification is not determined until runtime, so this attribute may be set and accessed for any inactive object. When a TUXEDO System/T Release 4.2.2 or earlier site is activated, the configured value is not used.

TA_TMNETLOAD: 0 <= num < 32K
Service load added to any remote service evaluated during load balancing on this machine.

Limitation: This attribute value is not part of the T_MACHINE object for active sites running TUXEDO System/T Release 4.2.2 or earlier. However, site release identification is not determined until runtime, so this attribute may be set and accessed for any inactive object. When a TUXEDO System/T Release 4.2.2 or earlier site is activated, the configured value is not used.

TA_SPINCOUNT: 0 <= num
Spincount used on this machine for pre-ticket user level semaphore access. Default values are built into the TUXEDO System/T binaries on each machine. These defaults may be overridden at runtime for tuning purposes using this attribute. The spincount may be reset to the default built-in value for the site by resetting this attribute value to 0. There is also a TMSPINCOUNT environment variable, which the system uses if the value is not set here or in the ubbconfig file.

Limitation: This attribute value is not part of the T_MACHINE object for active sites running TUXEDO System/T Release 4.2.2 or earlier. However, site release identification is not determined until runtime, so this attribute may be set and accessed for any inactive object. When a TUXEDO System/T Release 4.2.2 or earlier site is activated, the configured value is not used.

TA_ROLE: {MASTER|BACKUP|OTHER}
The role of this machine in the application. MASTER indicates that this machine is the master machine, BACKUP indicates that it is the backup master machine, and OTHER indicates that the machine is neither the master nor backup master machine.

TA_MINOR: 1 <= num
The TUXEDO System/T minor protocol release number for this machine.

TA_RELEASE: 1 <= num
The TUXEDO System/T major protocol release number for this machine. This may be different from the TA_SWRELEASE for the same machine.

TA_MINENCRYPTBITS={0|40|128}
When establishing a network link to this machine, require at least this minimum level of encryption. "0" means no encryption, while "40" and "128" specify the encryption key length (in bits). If this minimum level of encryption cannot be met, link establishment will fail. The default value is "0".

Limitation:Modifications to this attribute will not effect established network links.

TA_MAXENCRYPTBITS={0|40|128}
When establishing a network link, negotiate encryption up to this level. "0" means no encryption, while "40" and "128" specify the encryption length (in bits). The default value is "128"

Limitation:Modifications to this attribute will not effect established network links.

TA_MAXPENDINGBYTES=100000 <= num <= MAXLONG
specifies a limit for the amount of space that can be allocated for messages waiting to be transmitted by the BRIDGE process.

TA_CURACCESSERS: 0 <= num < 32K
Number of clients and servers currently accessing the application either directly on this machine or through a workstation handler on this machine.

TA_CURCLIENTS: 0 <= num < 32K
Number of clients, both native and workstation, currently logged in to this machine.

TA_CURCONV: 0 <= num < 32K
Number of active conversations with participants on this machine.

TA_CURGTT: 0 <= num < 32K
Number of in use transaction table entries on this machine.

TA_CURRLOAD: 0 <= num
Current service load enqueued on this machine.

Limitation: If the T_DOMAIN:TA_LDBAL attribute is "N" or the T_DOMAIN:TA_MODEL attribute is "MP", then an FML32 NULL value is returned (0).

TA_CURWSCLIENTS: 0 <= num < 32K
Number of workstation clients currently logged in to this machine.

TA_HWACCESSERS: 0 <= num < 32K
High water number of clients and servers accessing the application either directly on this machine or through a workstation handler on this machine.

TA_HWCLIENTS: 0 <= num < 32K
High water number of clients, both native and workstation, logged in to this machine.

TA_HWCONV: 0 <= num < 32K
High water number of active conversations with participants on this machine.

TA_HWGTT: 0 <= num < 32K
High water number of in use transaction table entries on this machine.

TA_HWWSCLIENTS: 0 <= num < 32K
High water number of workstation clients currently logged in to this machine.

TA_NUMCONV: 0 <= num
Number of tpconnect(3c) operations performed from this machine.

TA_NUMDEQUEUE: 0 <= num
Number of tpdequeue(3c) operations performed from this machine.

TA_NUMENQUEUE: 0 <= num
Number of tpenqueue(3c) operations performed from this machine.

TA_NUMPOST: 0 <= num
Number of tppost(3c) operations performed from this machine.

TA_NUMREQ: 0 <= num
Number of tpacall(3c) or tpcall(3c) operations performed from this machine.

TA_NUMSUBSCRIBE: 0 <= num
Number of tpsubscribe(3c) operations performed from this machine.

TA_NUMTRAN: 0 <= num
Number of transactions initiated ( tpbegin(3c)) from this machine.

TA_NUMTRANABT: 0 <= num
Number of transactions aborted ( tpabort(3c)) from this machine.

TA_NUMTRANCMT: 0 <= num
Number of transactions committed ( tpcommit(3c)) from this machine.

TA_PAGESIZE: 1 <= num
Disk pagesize used on this machine.

TA_SWRELEASE: string[0...78]
Software release for binary on that machine or a 0-length string if binary is not a TUXEDO System/T master binary.

TA_HWACLCACHE: 0 <= num
High water number of entries used in the ACL cache.

TA_ACLCACHEHITS: 0 <= num
Number of accesses to the ACL cache that resulted in a "hit" (that is, the entry was already in the cache).

TA_ACLCACHEACCESS: 0 <= num
Number of accesses to the ACL cache.

TA_ACLFAIL: 0 <= num
Number of accesses to the ACL cache that resulted in a access control violation.

TA_WKCOMPLETED: 0 <= num
Total service load dequeued and processed successfully by servers running on this machine. Note that for long running applications this attribute may wraparound, that is, exceed the maximum value for a long, and start back at 0 again.

TA_WKINITIATED: 0 <= num
Total service load enqueued by clients/servers running on this machine. Note that for long running applications this attribute may wraparound, that is, exceed the maximum value for a long, and start back at 0 again.

Limitations

SHM mode (see T_DOMAIN:TA_MODEL) applications can have only one T_MACHINE object. MP mode (see T_DOMAIN:TA_MODEL) applications with the LAN option set (see T_DOMAIN:TA_OPTIONS) may have up to the maximum number of configurable T_MACHINE objects as defined by the T_DOMAIN:TA_MAXMACHINES attribute. Many attributes of this class are tunable only when the application is inactive on the site. Since the master machine at least must be active in a minimumly active application, the use of the ATMI interface routines to administer the application is not possible with respect to the master machine object. The function tpadmcall(3c) is being provided as a means configuring an unbooted application and may be used to set these attributes for the master machine.

T_MSG CLASS DEFINITION

Overview

The T_MSG class represents runtime attributes of the TUXEDO System/T managed UNIX System message queues.

Attribute Table

TM_MIB(5): T_MSG Class Definition Attribute Table
Attribute (Note 1) Type Permissions Values Default
TA_LMID( k ) string R--R--R-- LMID N/A
TA_MSGID( k ) long R--R--R-- 1 <= num N/A
TA_STATE( k ) string R--R--R-- GET:"{ACT}"
SET:N/A
N/A
N/A
TA_CURTIME long R--R--R-- 1 <= num N/A
TA_MSG_CBYTES long R--R--R-- 1 <= num N/A
TA_MSG_CTIME long R--R--R-- 1 <= num N/A
TA_MSG_LRPID long R--R--R-- 1 <= num N/A
TA_MSG_LSPID long R--R--R-- 1 <= num N/A
TA_MSG_QBYTES long R--R--R-- 1 <= num N/A
TA_MSG_QNUM long R--R--R-- 1 <= num N/A
TA_MSG_RTIME long R--R--R-- 1 <= num N/A
TA_MSG_STIME long R--R--R-- 1 <= num N/A

( k ) - GET key field

Note 1.
All attributes in Class T_MSG are local attributes.

Attribute Semantics

TA_LMID: LMID
Logical machine identifier.

TA_MSGID: 1 <= num
UNIX System message queue identifier.

Limitation: This is a UNIX System-specific attribute that may not be returned if the platform on which the application is being run is not UNIX-based.

TA_STATE:

GET: ACTive
A GET operation will retrieve runtime information for the selected T_MSG object(s). The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned.

ACTive
T_MSG object active. This corresponds exactly to the related T_MACHINE object being active.

SET:
SET operations are not permitted on this class.

TA_CURTIME: 1 <= num
Current time, in seconds, since 00:00:00 UTC, January 1, 1970, as returned by the time(2) system call on T_MSG:TA_LMID. This attribute can be used to compute elapsed time from the T_MSG:TA_?TIME attribute values.

TA_MSG_CBYTES: 1 <= num
Current number of bytes on the queue.

TA_MSG_CTIME: 1 <= num
Time of the last msgctl(2) operation that changed a member of the msqid_ds structure associated with the queue.

TA_MSG_LRPID: 1 <= num
Process identifier of the last process that read from the queue.

TA_MSG_LSPID: 1 <= num
Process identifier of the last process that wrote to the queue.

TA_MSG_QBYTES: 1 <= num
Maximum number of bytes allowed on the queue.

TA_MSG_QNUM: 1 <= num
Number of messages currently on the queue.

TA_MSG_RTIME: 1 <= num
Time since the last read from the queue.

TA_MSG_STIME: 1 <= num
Time since the last write to the queue.

Limitations

This class is UNIX System-specific and may not be supported on non-UNIX implementations of TUXEDO System/T.

T_NETGROUP CLASS DEFINITION

Overview

The T_NETGROUP class represents application attributes of network groups. Network groups are groups of LMIDs which can communicate over the TA_NADDR network addresses defined in the T_NETMAP class.

Attribute Table

TM_MIB(5): T_NETGROUP Class Definition Attribute Table
Attribute Type Permissions Values Default
TA_NETGROUP( r )( * ) string rU------- string[1...30] DEFAULTNET
TA_NETGRPNO( r )( * ) long rU------- 1 <= num < 8,192 N/A
TA_STATE string rw-r--r-- GET:"{VAL}" N/A
      SET:"{NEW|INV}" N/A
TA_NETPRIO( * ) long rwyrw---- 1 <= num < 8,192 100

( r ) - Required field for object creation (SET TA_STATE NEW)

( * ) - GET/SET key, one or more required for SET operations

Attribute Semantics

TA_NETGROUP: string[1...30]
Logical name of the network group. A group name is a string of printable characters and cannot contain a pound sign, comma, colon, or newline.

TA_NETGRPNO: 1 <= num < 8,192
Group identifier associated with network group.

TA_STATE:

GET: {VALid}
A GET operation will retrieve configuration information for the selected T_NETGROUP object(s). The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned.

VALid
T_NETGROUP object is defined and inactive. Note that this is the only valid state for this class. NET groups are never active.

SET: {NEW|INValid}
A SET operation will update configuration information for the selected T_NETGROUP object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.

NEW
Create T_NETGROUP object for application. State change allowed only when in the INValid state. Successful return leaves the object in the VALid state.

unset
Modify an existing T_NETGROUP object. Only allowed in the VALid state. Successful return leaves the object state unchanged.

INValid
Delete T_NETGROUP object from application. State change allowed only when in the VALid state and only if there are no objects in the T_NETMAP class which have this network group object as a key. Successful return leaves the object in the INValid state.

TA_NETPRIO: 1<num<8,192
The priority band for this network group. All network groups of equivalent band priority will be used in parallel. If all network circuits of a certain priority are torn down by the administrator or by network conditions, the next lower priority circuit is used. Retries of the higher priority are attempted.

Note: In Release 6.4, parallel data circuits are prioritized by network group number (NETGRPNO) within priority group number. In future releases, a different algorithm may be used to prioritize parallel data circuits.

Limitations

None

T_NETMAP CLASS DEFINITION

Overview

The T_NETMAP class associates TA_LMIDs from the T_MACHINE class in the TM_MIB to a TA_NETGROUP object from the T_NETGROUP class. This class identifies which logical machines belong to which network group. A TA_LMID may be in many TA_NETGROUP groups. When one LMID connects to another LMID, the BRIDGE process determines the subset of network groups to which the two LMIDs belong. When the pair of LMIDs are in several common groups, they are sorted in descending TA_NETPRIO order (TA_NETGRPNO is the secondary key). The TA_NADDRs of the highest TA_NETPRIO network group(s) are the primary network addresses. Network groups with the same TA_NETPRIO will flow network data in parallel. Should a networking error prevent data from flowing entirely through the highest priority group(s), then the next lower priority network group(s) are used. This is called "Failover." When a failover condition exists, the higher priority groups are periodically retried. When a higher priority connection is established, no further data is scheduled for the lower priority one. Once the lower priority connection is drained, it is disconnected in an orderly fashion. This is call "Failback."

Attribute Table

TM_MIB(5): T_NETMAP Class Definition Attribute Table
Attribute Type Permissions Values Default
TA_NETGROUP( r )( * ) string ru------- string[1...30] N/A
TA_LMID( r )( * ) string ru------- string[1...30] N/A
TA_STATE string rw------- GET:"{VAL}" N/A
      SET:"{NEW|INV}" N/A
TA_NADDR string rw-r--r-- string[1...78] ""
TA_MINENCRYPTBIT string rwxrwx--- {0|40|128} 0
TA_MAXENCRYPTBIT string rwxrwx--- {0|40|128} 128

( r ) - Required field for object creation (SET TA_STATE NEW)

( * ) - GET/SET key, one or more required for SET operations

Attribute Semantics

TA_NETGROUP: string
This attribute is the name of the associated network group found in the T_NETGROUP class.

TA_LMID: string
The logical machine name from the T_MACHINE class (in TM_MIB) for this network mapping.
TA_STATE:

GET: {VALid}
A GET operation will retrieve configuration information for the selected T_NETMAP object(s). The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned.

ACTive
T_NETMAP object is defined. Note that this is the only valid state for this class. Network mappings are never active.

SET: {NEW|INValid}
A SET operation will update configuration information for the selected T_NETMAP object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.

NEW
Create T_NETMAP object for application. State change allowed only when in the INValid state. Successful return leaves the object in the VALid state.

unset
Modify an existing T_NETMAP object. Successful return leaves the object state unchanged.

INValid
Deletes the given network mapping. If any network links were active as a result of the mapping, they will be disconnected. This disconnection may cause a state change in T_BRIDGE objects (in TM_MIB) associated with the network links.

TA_NADDR: string
Specifies the complete network address to be used by the BRIDGE oricess okaced ib tge kigical machine as its listening address. The listening address for a BRIDGE is the means by which it is contacted by other BRIDGE processes participating in the application. This attribute must be set if the logical machine is to participate in a networked application, that is, if the LAN option is set in the T_DOMAIN:TA_OPTIONS (in TM_MIB?) attribute value. If string has the form "0xhex-digits," is must contain an even number of valid hex digits. These forms are translated internally into a character array containing the Hexadecimal representations of the string specified. For TCP/IP addresses either the

"//hostname:port"
or
"//#.#.#.#:port"
format is used.

TA_MINENCRYPTBIT: {0|40|128}
When establishing a network link to this machine, require at least this minimum level of encryption. "0" means no encryption, while "40' and "128" specify the encryption key length (in bits). If this minimum level of encryption cannot be met, link establishment will fail. The default value is "0". Limitation: Modifications to this attribute will not effect established network links.

TA_MAXENCRYPTBIT: {0|40|128}
When establishing a network link, negotiate encryption up to this level. "0" means no encryption, while "40" and "128" specify the encryption length (in bits). Limitation: Modifications to this attribute will not effect established network links.

Limitations

None

T_QUEUE CLASS DEFINITION

Overview

The T_QUEUE class represents runtime attributes of queues in an application. These attribute values identify and characterize allocated TUXEDO System/T request queues associated with servers in a running application. They also track statistics related to application workloads associated with each queue object.

Note that when a GET operation with the MIB_LOCAL flag is performed in a multi-machine application, multiple objects will be returned for each active queue\(emone object for each logical machine where local attribute values are collected.

Attribute Table

TM_MIB(5): T_QUEUE Class Definition Attribute Table
Attribute Type Permissions Values Default
TA_RQADDR( * ) string R--R--R-- string[1...30] N/A
TA_SERVERNAME( k ) string R--R--R-- string[1...78] N/A
TA_STATE( k ) string R--R--R-- GET:"{ACT|MIG|SUS|PAR}" N/A
SET:N/A N/A
TA_GRACE long R--R--R-- 0 <= num N/A
TA_MAXGEN long R--R--R-- 1 <= num < 256 N/A
TA_RCMD string R--R--R-- string[0...78] N/A
TA_RESTART string R--R--R-- "{Y|N}" N/A
TA_CONV string R--R--R-- "{Y|N}" N/A
TA_LMID( k ) string R--R--R-- LMID N/A
TA_RQID long R--R--R-- 1 <= num N/A
TA_SERVERCNT long R--R--R-- 1 <= num < 8K N/A
T_QUEUE Class:LOCAL Attributes
TA_TOTNQUEUED long R-XR-XR-- 0 <= num N/A
TA_TOTWKQUEUED long R-XR-XR-- 0 <= num N/A
TA_SOURCE( k ) string R--R--R-- LMID N/A
TA_NQUEUED long R--R--R-- 0 <= num N/A
TA_WKQUEUED long R--R--R-- 0 <= num N/A

( k ) - GET key field

( * ) - GET/SET key, one or more required for SET operations

Attribute Semantics

TA_RQADDR: string[1...30]
Symbolic address of the request queue. Servers with the same T_SERVER:TA_RQADDR attribute value are grouped into a Multiple Server Single Queue (MSSQ) set. Attribute values returned with a T_QUEUE object apply to all active servers associated with this symbolic queue address.

TA_SERVERNAME: string[1...78]
Full pathname of the server executable file. The server identified by TA_SERVERNAME is running on the machine identified by the T_QUEUE:TA_LMID attribute. When specified as a key field on a GET operation, this attribute may specify a relative pathname; all appropriate full pathnames will be matched.

TA_STATE:
GET: {ACTive|MIGrating|SUSpended|PARtitioned}
A GET operation will retrieve runtime information for the selected T_QUEUE object(s). The T_QUEUE class does not address configuration information directly. Configuration related attributes discussed here must be set as part of the related T_SERVER objects. The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned.

ACTive
At least one server associated with this T_QUEUE object is active.

MIGrating
The server(s) associated with this T_QUEUE object is currently in the MIGrating state. See the T_SERVER class for more details on this state. This state is ACTive equivalent for the purpose of determining permissions.

SUSpended
The server(s) associated with this T_QUEUE object is currently in the SUSpended state. See the T_SERVER class for more details on this state. This state is ACTive equivalent for the purpose of determining permissions.

PARtitioned
The server(s) associated with this T_QUEUE object is currently in the PARtitioned state. See the T_SERVER class for more details on this state. This state is ACTive equivalent for the purpose of determining permissions.

SET:
A SET operation will update runtime information for the selected T_QUEUE object. State changes are not allowed when updating T_QUEUE object information. Modification of an existing T_QUEUE object is allowed only when the object is in the ACTive state.

TA_GRACE: 0 <= num
The period of time, in seconds, over which the T_QUEUE:TA_MAXGEN limit applies. This attribute is meaningful only for restartable servers, that is, if the T_QUEUE:TA_RESTART attribute is set to "Y". A value of 0 for this attribute indicates that a server should always be restarted.

TA_MAXGEN: 1 <= num < 256
Number of generations allowed for restartable servers (T_QUEUE:TA_RESTART == "Y") associated with this queue over the specified grace period (T_QUEUE:TA_GRACE). The initial activation of each server counts as one generation and each restart also counts as one.

TA_RCMD: string[0...78]
Application specified command to be executed in parallel with the system restart of application servers associated with this queue.

TA_RESTART: {Y|N}
Servers associated with this queue are restartable ("Y") or non-restartable ("N").

TA_CONV: {Y|N}
Servers associated with this queue are conversational-based ("Y") or request/response-based ("N").

TA_LMID: LMID
Logical machine on which servers associated with this queue are active.

TA_RQID: 1 <= num
UNIX System message queue identifier.

Limitation: This is a UNIX System specific attribute that may not be returned if the platform on which the application is being run is not UNIX-based.

TA_SERVERCNT: 1 <= num < 8K
Number of active servers associated with this queue.

TA_TOTNQUEUED: 0 <= num
The sum of the queue lengths of this queue while it has been active. This sum includes requests enqueued to and processed by servers that are no longer active on the queue. Each time a new request is assigned to the queue, the sum is incremented by the length of the queue immediately before the new request is enqueued.

Limitation: If the T_DOMAIN:TA_LDBAL attribute is "N" or the T_DOMAIN:TA_MODEL attribute is "MP", then TA_TOTNQUEUED is not returned. In the same configuration, updates to this attribute are ignored. Consequently, when this attribute is returned TA_LMID and TA_SOURCE have the same value.

TA_TOTWKQUEUED: 0 <= num
The sum of the workloads enqueued to this queue while it has been active. This sum includes requests enqueued to and processed by servers that are no longer active on the queue. Each time a new request is assigned to the queue, the sum is incremented by the workload on the queue immediately before the new request is enqueued.

Limitation: If the T_DOMAIN:TA_LDBAL attribute is "N" or the T_DOMAIN:TA_MODEL attribute is "MP", then TA_TOTWKQUEUED is not returned. In the same configuration, updates to this attribute are ignored. Consequently, when this attribute is returned TA_LMID and TA_SOURCE have the same value.

TA_SOURCE: LMID
Logical machine from which local attribute values are retrieved.

TA_NQUEUED: 0 <= num
Number of requests currently enqueued to this queue from the TA_SOURCE logical machine. This value is incremented at enqueue time and decremented when the server dequeues the request.

Limitation: If the T_DOMAIN:TA_LDBAL attribute is "N" or the T_DOMAIN:TA_MODEL attribute is "MP", then TA_NQUEUED is not returned. Consequently, when this attribute is returned TA_LMID and TA_SOURCE have the same value.

TA_WKQUEUED: 0 <= num
Workload currently enqueued to this queue from the TA_SOURCE logical machine. If the T_DOMAIN:TA_MODEL attribute is set to SHM and the T_DOMAIN:TA_LDBAL attribute is set to "Y" then this attribute reflects the application-wide workload enqueued to this queue. However, if TA_MODEL is set to MP and TA_LDBAL is set to "Y", this attribute reflects the workload enqueued to this queue from the TA_SOURCE logical machine during a recent timespan. This attribute is used for load balancing purposes. So as to not discriminate against newly started servers, this attribute value is zeroed out on each machine periodically by the BBL.

Limitations

None.

T_ROUTING CLASS DEFINITION

Overview

The T_ROUTING class represents configuration attributes of routing specifications for an application. These attribute values identify and characterize application data dependent routing criteria with respect to field names, buffer types, and routing definitions.

Attribute Table

TM_MIB(5): T_ROUTING Class Definition Attribute Table
Attribute Type Permissions Values Default
TA_ROUTINGNAME ( r )( * ) string ru-r--r-- string[1...15] N/A
TA_BUFTYPE( r )( * ) string ru-r--r-- string[1...256] N/A
TA_FIELD( r )( k ) string rw-r--r-- string[1...30] N/A
TA_RANGES( r ) carray rw-r--r-- carray[1...2048] N/A
TA_STATE( k ) string rw-r--r-- GET:"{VAL}"
SET:"{NEW|INV}"
N/A
N/A

( k ) - GET key field

( r ) - Required field for object creation (SET TA_STATE NEW)

( * ) - GET/SET key, one or more required for SET operations

Attribute Semantics

TA_ROUTINGNAME: string[1...15]
Routing criteria name.

TA_BUFTYPE: type1[:subtype1[,subtype2 . . . ]][;type2[:subtype3[, . . . ]]] . . .
List of types and subtypes of data buffers for which this routing entry is valid. A maximum of 32 type/subtype combinations are allowed. The types are restricted to be one of FML, VIEW, X_C_TYPE, or X_COMMON. No subtype can be specified for type FML, and subtypes are required for types VIEW, X_C_TYPE, and X_COMMON (``*'' is not allowed). Note that subtype names should not contain semicolon, colon, comma, or asterisk characters. Duplicate type/subtype pairs can not be specified for the same routing criterion name; more than one routing entry can have the same criterion name as long as the type/subtype pairs are unique. If multiple buffer types are specified for a single routing entry, the data types of the routing field for each buffer type must be the same.

TA_FIELD: string[1...30]
Routing field name. This field is assumed to be an FML buffer or view field name that is identified in an FML field table (using the FLDTBLDIR and FIELDTBLS environment variables) or an FML view table (using the VIEWDIR and VIEWFILES environment variables), respectively. This information is used to get the associated field value for data dependent routing during the sending of a message.

TA_RANGES: carray[1...2048]
The ranges and associated server groups for the routing field. The format of string is a comma-separated, ordered list of range/group name pairs. A range/group name pair has the following format:
lower[-upper]:group
lower and upper are signed numeric values or character strings in single quotes. lower must be less than or equal to upper. To embed a single quote in a character string value, it must be preceded by two backslashes (for example, 'O\\'Brien'). The value MIN can be used to indicate the minimum value for the data type of the associated field on the machine. The value MAX can be used to indicate the maximum value for the data type of the associated field on the machine. Thus, ``MIN--5'' is all numbers less than or equal to -5, and ``6-MAX'' is all numbers greater than or equal to 6.

The meta-character ``*'' (wild-card) in the position of a range indicates any values not covered by the other ranges previously seen in the entry; only one wild-card range is allowed per entry and it should be last (ranges following it will be ignored).

The routing field can be of any data type supported in FML. A numeric routing field must have numeric range values, and a string routing field must have string range values.

String range values for string, carray, and character field types must be placed inside a pair of single quotes and can not be preceded by a sign. Short and long integer values are a string of digits, optionally preceded by a plus or minus sign. Floating point numbers are of the form accepted by the C compiler or atof(3): an optional sign, then a string of digits optionally containing a decimal point, then an optional e or E followed by an optional sign or space, followed by an integer.

The group name indicates the associated group to which the request is routed if the field matches the range. A group name of ``*'' indicates that the request can go to any group where a server offers the desired service.

Limitation: Attribute values greater than 256 bytes in length will disable interoperability with TUXEDO System/T Release 4.2.2 and earlier.

TA_STATE:
GET: {VALid}
A GET operation will retrieve configuration information for the selected T_ROUTING object(s). The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned.

VALid
T_ROUTING object is defined. Note that this is the only valid state for this class. Routing criteria are never active; rather, they are associated through the configuration with service names and are acted upon at runtime to provide data dependent routing. This state is INActive equivalent for the purpose of permissions checking.

SET: {NEW|INValid}
A SET operation will update configuration information for the selected T_ROUTING object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.
NEW
Create T_ROUTING object for application. State change allowed only when in the INValid state. Successful return leaves the object in the VALid state.

unset
Modify an existing T_ROUTING object. This combination is not allowed in the INValid state. Successful return leaves the object state unchanged.

INValid
Delete T_ROUTING object for application. State change allowed only when in the VALid state. Successful return leaves the object in the INValid state.

Limitations

None.

T_SERVER CLASS DEFINITION

Overview

The T_SERVER class represents configuration and runtime attributes of servers within an application. These attribute values identify and characterize configured servers as well as provide runtime tracking of statistics and resources associated with each server object.

Attribute Table

TM_MIB(5): T_SERVER Class Definition Attribute Table
Attribute Type Permissions Values Default
TA_SRVGRP( r )( * ) string ru-r--r-- string[1...30] N/A
TA_SRVID( r )( * ) long ru-r--r-- 1 <= num < 30,001 N/A
TA_SERVERNAME( k )( r ) string rw-r--r-- string[1...78] N/A
TA_GRPNO( k ) long r--r--r-- 1 <= num < 30,000 N/A
TA_STATE( k ) string rwxr-xr-- GET:"{ACT|INA|MIG|CLE|RES| SUS|PAR|DEA}" N/A
SET:"{NEW|INV |ACT|INA|DEA}" N/A
TA_BASESRVID long r--r--r-- 1 <= num < 30,001 N/A
TA_CLOPT string rwyr--r-- string[0...256] "-A"
TA_ENVFILE string rwyr--r-- string[0...78] ""
TA_GRACE long rwyr--r-- 0 <= num 86,400
TA_MAXGEN long rwyr--r-- 1 <= num < 256 1
TA_MAX long rwxr--r-- 1 <= num < 1,001 1
TA_MIN long rwyr--r-- 1 <= num < 1,001 1
TA_RCMD string rwyr--r-- string[0...78] ""
TA_RESTART string rwyr--r-- "{Y|N}" N
TA_SEQUENCE( k ) long rwxr--r-- 1 <= num < 10,000 >= 10,000
TA_SYSTEM_ACCESS string rwyr--r-- "{FASTPATH|PROTECTED}" (Note 1)
TA_CONV( k ) string rw-r--r-- "{Y|N}" N
TA_REPLYQ string rw-r--r-- "{Y|N}" N
TA_RPPERM long rw-r--r-- 0001 <= num <= 0777 (Note 1)
TA_RQADDR( k ) string rw-r--r-- string[0...30] "GRPNO.SRVID"
TA_RQPERM long rw-r--r-- 0001 <= num <= 0777 (Note 1)
TA_LMID( k ) string R--R--R-- LMID N/A
TA_GENERATION long R--R--R-- 1 <= num < 32K N/A
TA_PID( k ) long R--R--R-- 1 <= num N/A
TA_RPID long R--R--R-- 1 <= num N/A
TA_RQID long R--R--R-- 1 <= num N/A
TA_TIMERESTART long R--R--R-- 1 <= num N/A
TA_TIMESTART long R--R--R-- 1 <= num N/A
T_SERVER Class: LOCAL Attributes
TA_NUMCONV long R-XR-XR-- 0 <= num N/A
TA_NUMDEQUEUE long R-XR-XR-- 0 <= num N/A
TA_NUMENQUEUE long R-XR-XR-- 0 <= num N/A
TA_NUMPOST long R-XR-XR-- 0 <= num N/A

TM_MIB(5): T_SERVER Class Definition Attribute Table
Attribute Type Permissions Values Default
TA_NUMREQ long R-XR-XR-- 0 <= num N/A
TA_NUMSUBSCRIBE long R-XR-XR-- 0 <= num N/A
TA_NUMTRAN long R-XR-XR-- 0 <= num N/A
TA_NUMTRANABT long R-XR-XR-- 0 <= num N/A
TA_NUMTRANCMT long R-XR-XR-- 0 <= num N/A
TA_TOTREQC long R-XR-XR-- 0 <= num N/A
TA_TOTWORKL long R-XR-XR-- 0 <= num N/A
TA_CLTLMID string R--R--R-- LMID N/A
TA_CLTPID long R--R--R-- 1 <= num N/A
TA_CLTREPLY string R--R--R-- "{Y|N}" N/A
TA_CMTRET string R--R--R-- "{COMPLETE|LOGGED}" N/A
TA_CURCONV long R--R--R-- 0 <= num N/A
TA_CURREQ long R--R--R-- 0 <= num N/A
TA_CURRSERVICE string R--R--R-- string[0...15] N/A
TA_CURTIME long R--R--R-- 1 <= num N/A
TA_LASTGRP long R--R--R-- 1 <= num < 30,000 N/A
TA_SVCTIMEOUT long R--R--R-- 0 <= num N/A
TA_TIMELEFT long R--R--R-- 0 <= num N/A
TA_TRANLEV long R--R--R-- 0 <= num N/A

( k ) - GET key field

( r ) - Required field for object creation (SET TA_STATE NEW)

( * ) - GET/SET key, one or more required for SET operations

Note 1.
Defaults to value set for this attribute in Class T_DOMAIN

Attribute Semantics

TA_SRVGRP: string[1...30]
Logical name of the server group. Server group names cannot contain an asterisk (*), comma, or colon.

TA_SRVID: 1 <= num < 30,001
Unique (within the server group) server identification number.

TA_SERVERNAME: string[1...78]
Name of the server executable file. The server identified by TA_SERVERNAME will run on the machine(s) identified by the T_GROUP:TA_LMID attribute for this server's server group. If a relative pathname is given, then the search for the executable file is done first in TA_APPDIR, then in TA_TUXDIR/bin, then in /bin and /usr/bin, and then in &ltpath>, where &ltpath> is the value of the first PATH= line appearing in the machine environment file, if one exists. Note that the attribute value returned for an active server will always be a full pathname. The values for TA_APPDIR and TA_TUXDIR are taken from the appropriate T_MACHINE object. See discussion of the T_MACHINE:TA_ENVFILE attribute for a more detailed discussion of how environment variables are handled.

TA_GRPNO: 1 <= num < 30,000
Group number associated with this server's group.

TA_STATE:

GET: {ACTive|INActive|MIGrating|CLEaning|REStarting|SUSpended|PARtitioned|DEAd}
A GET operation will retrieve configuration and runtime information for the selected T_SERVER object(s). The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned.

ACTive
T_SERVER object defined and active. This is not an indication of whether the server is idle or busy. An active server with a non 0-length TA_CURRSERVICE attribute should be interpreted as a busy server, that is, one that is processing a service request.

INActive
T_SERVER object defined and inactive.

MIGrating
T_SERVER object defined and currently in a state of migration to the server group's secondary logical machine. The secondary logical machine is the one listed in T_GROUP:TA_LMID attribute that does not match the T_GROUP:TA_CURLMID attribute. This state is ACTive equivalent for the purpose of determining permissions.

CLEaning
T_SERVER object defined and currently being cleaned up after by the system due to an abnormal death. Note that restartable servers may enter this state if they exceed TA_MAXGEN starts/restarts within their TA_GRACE period. This state is ACTive equivalent for the purpose of determining permissions.

REStarting
T_SERVER object defined and currently being restarted by the system due to an abnormal death. This state is ACTive equivalent for the purpose of determining permissions.

SUSpended
T_SERVER object defined and currently suspended pending shutdown. This state is ACTive equivalent for the purpose of determining permissions.

PARtitioned
T_SERVER object defined and active; however, the machine where the server is running is currently partitioned from the T_DOMAIN:TA_MASTER site. This state is ACTive equivalent for the purpose of determining permissions.

DEAd
T_SERVER object defined, identified as active in the bulletin board, but currently not running due to an abnormal death. This state will exist only until the BBL local to the server notices the death and takes action (REStarting|CLEaning). Note that this state will only be returned if the MIB_LOCAL TA_FLAGS value is specified and the machine where the server was running is reachable. This state is ACTive equivalent for the purpose of determining permissions.

SET: {NEW|INValid|ACTive|INActive|DEAd}
A SET operation will update configuration and runtime information for the selected T_SERVER object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.

NEW
Create T_SERVER object for application. State change allowed only when in the INValid state. Successful return leaves the object in the INActive state.

unset
Modify an existing T_SERVER object. This combination is allowed only when in the ACTive or INActive state. Successful return leaves the object state unchanged.

INValid
Delete T_SERVER object for application. State change allowed only when in the INActive state. Successful return leaves the object in the INValid state.

ACTive
Activate the T_SERVER object. State change allowed only when in the INActive state. (Servers in the MIGrating state must be restarted by setting the T_GROUP:TA_STATE to ACTive.) For the purpose of determining permissions for this state transition, the active object permissions are considered (that is, --x--x--x). Successful return leaves the object in the ACTive state. The TMIB_NOTIFY TA_FLAG value should be used when activating a server if status on the individual server is required.

INActive
Deactivate the T_SERVER object. State change allowed only when in the ACTive state. Successful return leaves the object in the INActive state. The TMIB_NOTIFY TA_FLAG value should be used when deactivating a server if status on the individual server is required.

DEAd
Deactivate the T_SERVER object by sending the server a SIGTERM signal followed by a SIGKILL signal if the server is still running after the appropriate timeout interval (see TA_MIBTIMEOUT in MIB(5)). Note that by default, a SIGTERM signal will cause the server to initiate orderly shutdown and the server will become inactive even if it is restartable. If a server is processing a long running service or has chosen to disable the SIGTERM signal, then SIGKILL may be used and will be treated by the system as an abnormal termination. State change allowed only when in the ACTive or SUSpended state. Successful return leaves the object in the INActive, CLEaning or REStarting state.

TA_BASESRVID: 1 <= num < 30,001
Base server identifier. For servers with a TA_MAX attribute value of 1, this attribute will always be the same as TA_SRVID. However, for servers with a TA_MAX value of greater than 1, this attribute indicates the base server identifier for the set of servers configured identically.

TA_CLOPT: string[0...256]
Command line options to be passed to server when it is activated. See the servopts(5) manual page for details.

Limitation: Runtime modifications to this attribute will not affect a running server.

TA_ENVFILE: string[0...78]
Server specific environment file. See T_MACHINE:TA_ENVFILE for a complete discussion of how this file is used to modify the environment.

Limitation: Runtime modifications to this attribute will not affect a running server.

TA_GRACE: 0 <= num
The period of time, in seconds, over which the T_SERVER:TA_MAXGEN limit applies. This attribute is meaningful only for restartable servers, that is, if the T_SERVER:TA_RESTART attribute is set to "Y". When a restarting server would exceed the TA_MAXGEN limit but the TA_GRACE period has expired, the system resets the current generation (T_SERVER:TA_GENERATION) to 1 and resets the initial boot time (T_SERVER:TA_TIMESTART) to the current time. A value of 0 for this attribute indicates that a server should always be restarted. Note that servers sharing a request queue (that is, equal values for T_SERVER:TA_RQADDR) should have equal values for this attribute. If they do not, then the first server activated will establish the runtime value associated with all servers on the queue.

Limitation: Runtime modifications to this attribute will affect a running server and all other active servers with which it is sharing a request queue. However, only the selected server's configuration parameter is modified. Thus, the behavior of the application depends on the order of boot in subsequent activations unless the administrator ensures that all servers sharing a queue have the same value for this attribute.

TA_MAXGEN: 1 <= num 256
Number of generations allowed for a restartable server (T_SERVER:TA_RESTART == "Y") over the specified grace period (T_SERVER:TA_GRACE). The initial activation of the server counts as one generation and each restart also counts as one. Processing after the maximum generations is exceeded is discussed above with respect to TA_GRACE. Note that servers sharing a request queue (that is, equal values for T_SERVER:TA_RQADDR) should have equal values for this attribute. If they do not, then the first server activated will establish the runtime value associated with all servers on the queue.

Limitation: Runtime modifications to this attribute will affect a running server and all other active servers with which it is sharing a request queue. However, only the selected server's configuration parameter is modified. Thus, the behavior of the application depends on the order of boot in subsequent activations unless the administrator ensures that all servers sharing a queue have the same value for this attribute.

TA_MAX: 1 <= num < 1,001
Maximum number of occurrences of the server to be booted. Initially, tmboot(1) boots T_SERVER:TA_MIN objects of the server, and additional objects may be started individually (by starting a particular server id) or through automatic spawning (conversational servers only). Runtime modifications to this attribute will affect all running servers in the set of identically configured servers (see TA_BASESRVID above) as well as the configuration definition of the server.

TA_MIN: 1 <= num < 1,001
Minimum number of occurrences of the server to be booted by tmboot(1). If a T_SERVER:TA_RQADDR is specified and TA_MIN is greater than 1, then the servers will form an MSSQ set. The server identifiers for the servers will be T_SERVER:TA_SRVID up to TA_SRVID + T_SERVER:TA_MAX - 1. All occurrences of the server will have the same sequence number, as well as any other server parameters.

Limitation: Runtime modifications to this attribute will not affect a running server.

TA_RCMD: string[0...78]
Application specified command to be executed in parallel with the system restart of an application server. This command must be an executable UNIX System file. Note that servers sharing a request queue (that is, equal values for T_SERVER:TA_RQADDR) should have equal values for this attribute. If they do not, then the first server activated will establish the runtime value associated with all servers on the queue.

Limitation: Runtime modifications to this attribute will affect a running server and all other active servers with which it is sharing a request queue. However, only the selected server's configuration parameter is modified. Thus, the behavior of the application depends on the order of boot in subsequent activations unless the administrator ensures that all servers sharing a queue have the same value for this attribute.

TA_RESTART: {Y|N}
Restartable ("Y") or non-restartable ("N") server. If server migration is specified for this server group (T_DOMAIN:TA_OPTIONS/MIGRATE and T_GROUP:TA_LMID with alternate site), then this attribute must be set to "Y". Note that servers sharing a request queue (that is, equal values for T_SERVER:TA_RQADDR) should have equal values for this attribute. If they do not, then the first server activated will establish the runtime value associated with all servers on the queue.

Limitation: Runtime modifications to this attribute will affect a running server and all other active servers with which it is sharing a request queue. However, only the selected server's configuration parameter is modified. Thus, the behavior of the application depends on the order of boot in subsequent activations unless the administrator ensures that all servers sharing a queue have the same value for this attribute.

TA_SEQUENCE: 1 <= num < 10,000
Specifies when this server should be booted ( tmboot(1)) or shutdown ( tmshutdown(1)) relative to other servers. If two servers are given the same sequence number, it is possible for tmboot(1) to boot them in parallel and for tmshutdown(1) to shut them down in parallel. T_SERVER objects added without a TA_SEQUENCE attribute specified or with an invalid value will have one generated for them that is 10,000 or more and is higher than any other automatically selected default value. Servers are booted by tmboot(1) in increasing order of sequence number and shutdown by tmshutdown(1) in decreasing order. Runtime modifications to this attribute affect only tmboot(1) and tmshutdown(1) and will affect the order in which running servers may be shutdown by a subsequent invocation of tmshutdown(1).

TA_SYSTEM_ACCESS: {FASTPATH|PROTECTED}
Mode used by System/T libraries within this server process to gain access to System/T's internal tables. See T_DOMAIN:TA_SYSTEM_ACCESS for a complete discussion of this attribute.

Limitation: Runtime modifications to this attribute will not affect a running server.

TA_CONV: {Y|N}
Conversational server ("Y") or request/response server ("N").

TA_REPLYQ: {Y|N}
Allocate a separate reply queue for the server (TA_REPLYQ == "Y"). MSSQ servers that expect to receive replies should set this attribute to "Y".

TA_RPPERM: 0001 <= num <= 0777
UNIX System permissions for the server's reply queue. If a separate reply queue is not allocated (T_SERVER:TA_REPLYQ == "N"), then this attribute is ignored.

Limitation: This is a UNIX System specific attribute that may not be returned if the platform on which the application is being run is not UNIX-based.

TA_RQADDR: string[0...30]
Symbolic address of the request queue for the server. Specifying the same TA_RQADDR attribute value for more than one server is the way multiple server, single queue (MSSQ) sets are defined. Servers with the same TA_RQADDR attribute value must be in the same server group.

TA_RQPERM: 0001 <= num <= 0777
UNIX System permissions for the server's request queue.

Limitation: This is a UNIX System specific attribute that may not be returned if the platform on which the application is being run is not UNIX-based.

TA_LMID: LMID
Current logical machine on which the server is running.

TA_GENERATION: 1 <= num < 32K
Generation of the server. When a server is initially booted via tmboot(1) or activated through the TM_MIB(5), its generation is set to 1. Each time the server dies abnormally and is restarted, its generation is incremented. Note that when T_SERVER:TA_MAXGEN is exceeded and T_SERVER:TA_GRACE has expired, the server will be restarted with the generation reset to 1.

TA_PID: 1 <= num
UNIX System process identifier for the server. Note that this may not be a unique attribute since servers may be located on different machines allowing for duplication of process identifiers.

Limitation: This is a UNIX System specific attribute that may not be returned if the platform on which the application is being run is not UNIX-based.

TA_RPID: 1 <= num
UNIX System message queue identifier for the server's reply queue. If a separate reply queue is not allocated (T_SERVER:TA_REPLYQ == "N"), then this attribute value will be the same as T_SERVER:TA_RQID.

Limitation: This is a UNIX System specific attribute that may not be returned if the platform on which the application is being run is not UNIX-based.

TA_RQID: 1 <= num
UNIX System message queue identifier for the server's request queue. If a separate reply queue is not allocated (T_SERVER:TA_REPLYQ == "N"), then this attribute value will be the same as T_SERVER:TA_RPID.

Limitation: This is a UNIX System specific attribute that may not be returned if the platform on which the application is being run is not UNIX-based.

TA_TIMERESTART: 1 <= num
Time, in seconds, since 00:00:00 UTC, January 1, 1970, as returned by the time(2) system call on T_SERVER:TA_LMID, when the server was last started or restarted.

TA_TIMESTART: 1 <= num
Time, in seconds, since 00:00:00 UTC, January 1, 1970, as returned by the time(2) system call on T_SERVER:TA_LMID, when the server was first started. Restarts of the server do not reset this value; however, if T_SERVER:TA_MAXGEN is exceeded and T_SERVER:TA_GRACE is expired, this attribute will be reset to the time of the restart.

TA_NUMCONV: 0 <= num
Number of conversations initiated by this server via tpconnect(3c).

TA_NUMDEQUEUE: 0 <= num
Number of dequeue operations initiated by this server via tpdequeue(3c).

TA_NUMENQUEUE: 0 <= num
Number of enqueue operations initiated by this server via tpenqueue(3c).

TA_NUMPOST: 0 <= num
Number of postings initiated by this server via tppost(3c).

TA_NUMREQ: 0 <= num
Number of requests made by this server via tpcall(3c) or tpacall(3c).

TA_NUMSUBSCRIBE: 0 <= num
Number of subscriptions made by this server via tpsubscribe(3c).

TA_NUMTRAN: 0 <= num
Number of transactions begun by this server since its last (re)start.

TA_NUMTRANABT: 0 <= num
Number of transactions aborted by this server since its last (re)start.

TA_NUMTRANCMT: 0 <= num
Number of transactions committed by this server since its last (re)start.

TA_TOTREQC: 0 <= num
Total number of requests completed by this server. For conversational servers (T_SERVER:TA_CONV == "Y"), this attribute value indicates the number of completed incoming conversations. This is a runtime attribute that is kept across server restart but is lost at server shutdown.

TA_TOTWORKL: 0 <= num
Total workload completed by this server. For conversational servers (T_SERVER:TA_CONV == "Y"), this attribute value indicates the workload of completed incoming conversations. This is a runtime attribute that is kept across server restart but is lost at server shutdown.

TA_CLTLMID: LMID
Logical machine for the initiating client or server. The initiating client or server is the process that made the service request that the server is currently working on.

TA_CLTPID: 1 <= num
UNIX System process identifier for the initiating client or server.

Limitation: This is a UNIX System specific attribute that may not be returned if the platform on which the application is being run is not UNIX-based.

TA_CLTREPLY: {Y|N}
The initiating client or server is expecting a reply ("Y") or is not expecting a reply ("N").

TA_CMTRET: {COMPLETE|LOGGED}
Setting of the TP_COMMIT_CONTROL characteristic for this server. See the description of the System/T ATMI function tpscmt(3) for details on this characteristic.

TA_CURCONV: 0 <= num
Number of conversations initiated by this server via tpconnect(3c) that are still active.

TA_CURREQ: 0 <= num
Number of requests initiated by this server via tpcall(3c) or tpacall(3c) that are still active.

TA_CURRSERVICE: string[0...15]
Service name that the server is currently working on, if any.

TA_CURTIME: 1 <= num
Current time, in seconds, since 00:00:00 UTC, January 1, 1970, as returned by the time(2) system call on T_SERVER:TA_LMID. This attribute can be used to compute elapsed time from the T_SERVER:TA_TIMESTART and T_SERVER:TA_TIMERESTART attribute values.

TA_LASTGRP: 1 <= num < 30,000
Server group number (T_GROUP:TA_GRPNO) of the last service request made or conversation initiated from this server outward.

TA_SVCTIMEOUT: 0 <= num
Time left, in seconds, for this server to process the current service request, if any. A value of 0 for an active service indicates that no timeout processing is being done. See T_SERVICE:TA_SVCTIMEOUT for more information.

TA_TIMELEFT: 0 <= num
Time left, in seconds, for this server to receive the reply for which it is currently waiting before it will timeout. This timeout may be a transactional timeout or a blocking timeout.

TA_TRANLEV: 0 <= num
Current transaction level for this server. 0 indicates that the server is not currently involved in a transaction.

Limitations

None.

T_SERVICE CLASS DEFINITION

Overview

The T_SERVICE class represents configuration attributes of services within an application. These attribute values identify and characterize configured services. A T_SERVICE object provides activation time configuration attributes for services not specifically configured as part of the T_SVCGRP class. Runtime information about services active in the application is provided solely through the T_SVCGRP class. Runtime updates to the T_SERVICE class are usually not reflected in active T_SVCGRP objects (TA_ROUTINGNAME is the exception). Both the T_SERVICE class and the T_SVCGRP class define activation time attribute settings for service names within the application. When a new service is activated (advertised), either due to initial activation of a server or due to a call to tpadvertise(3c), the following hierarchy exists for determining the attribute values to be used at service startup time.

1.
If a matching configured T_SVCGRP object exists (matching service name and server group), then the attributes defined in that object are used to initially configure the advertised service.

2.
Otherwise, if a matching configured T_SERVICE object exists (matching service name), then the attributes defined in that object are used to initially configure the advertised service.

3.
Otherwise, if any configured T_SVCGRP objects are found with matching TA_SERVICENAME attribute values, then the first one found is used to initially configure the advertised service.

4.
If none of the preceding cases is used, then the system defaults for service attributes are used to initially configure the advertised service.

The specification of configuration attributes for application services is completely optional, that is, services advertised by servers as they are activated will take on the established default service attribute values if configured values are not available (see above for description of how attribute values are identified at service activation time). Service names to be offered by a server are built in at runtime (see buildserver(1)) and may be overridden by the command line options specified for a server object (see T_SERVER:TA_CLOPT and servopts(5)).

Attribute Table

TM_MIB(5): T_SERVICE Class Definition Attribute Table
Attribute Type Permissions Values Default
TA_SERVICENAME ( r )( * ) string ru-r--r-- string[1...15] N/A
TA_STATE( k ) string rw-r--r-- GET:"{ACT|INA}" N/A
SET:"{NEW|INV}" N/A
TA_AUTOTRAN string rwyr--r-- "{Y|N}" "N"
TA_LOAD long rwyr--r-- 1 <= num < 32K 50
TA_PRIO long rwyr--r-- 1 <= num < 101 50
TA_SVCTIMEOUT long rwyr--r-- 0 <= num 0
TA_TRANTIME long rwyr--r-- 0 <= num 30
TA_BUFTYPE string rw-r--r-- string[1...256] "ALL"
TA_ROUTINGNAME string rwxr--r-- string[0...15] ""

( k ) - GET key field

( r ) - Required field for object creation (SET TA_STATE NEW)

( * ) - GET/SET key, one or more required for SET operations

Attribute Semantics

TA_SERVICENAME: string[1...15]
Service name.

TA_STATE:

GET: {ACTive|INActive}
A GET operation will retrieve configuration information for the selected T_SERVICE object(s). The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned.

ACTive
T_SERVICE object is defined and at least one T_SVCGRP object with a matching TA_SERVICENAME value is active.

INActive
T_SERVICE object is defined and no T_SVCGRP object with a matching TA_SERVICENAME value is active.

SET: {NEW|INValid}
A SET operation will update configuration information for the selected T_SERVICE object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.

NEW
Create T_SERVICE object for application. State change allowed only when in the INValid state. Successful return leaves the object in the INActive state.

Limitation: Unconfigured services may still be active by virtue of a server advertising them. In this case, the creation of a new T_SERVICE object is not allowed.

unset
Modify an existing T_SERVICE object. This combination is not allowed in the INValid state. Successful return leaves the object state unchanged.

INValid
Delete T_SERVICE object for application. State change allowed only when in the INActive state. Successful return leaves the object in the INValid state.

TA_AUTOTRAN: {Y|N}
Automatically begin a transaction ("Y") when a service request message is received for this service if the request is not already in transaction mode.

Limitation: Runtime updates to this attribute are not reflected in active T_SVCGRP objects.

TA_LOAD: 1 <= num < 32K
This T_SERVICE object imposes the indicated load on the system. Service loads are used for load balancing purposes, that is, queues with higher enqueued workloads are less likely to be chosen for a new request. Service loads have meaning only if the T_DOMAIN:TA_LDBAL is set to "Y".

Limitation: Runtime updates to this attribute are not reflected in active T_SVCGRP objects.

TA_PRIO: 1 <= num < 101
This T_SERVICE object has the indicated dequeuing priority. If multiple service requests are waiting on a queue for servicing, the higher priority requests will be serviced first.

Limitation: Runtime updates to this attribute are not reflected in active T_SVCGRP objects.

TA_SVCTIMEOUT: 0 <= num
Time limit (in seconds) for processing requests for this service name. Servers processing service requests for this service will be abortively terminated (kill -9) if they exceed the specified time limit in processing the request. A value of 0 for this attribute indicates that the service should not be abortively terminated.

Limitation: Runtime updates to this attribute are not reflected in active T_SVCGRP objects.

Limitation: This attribute value is not enforced on TUXEDO System/T Release 4.2.2 sites or earlier.

TA_TRANTIME: 0 <= num
Transaction timeout value in seconds for transactions automatically started for this T_SERVICE object. Transactions are started automatically when a request not in transaction mode is received and the T_SERVICE:TA_AUTOTRAN attribute value for the service is "Y".

Limitation: Runtime updates to this attribute are not reflected in active T_SVCGRP objects.

TA_BUFTYPE: type1[:subtype1[,subtype2 . . . ]][;type2[:subtype3[, . . . ]]] . . .
List of types and subtypes of data buffers accepted by this service. A maximum of 32 type/subtype combinations are allowed. Types of data buffers provided with TUXEDO System/T are FML (for FML buffers), VIEW, X_C_TYPE, or X_COMMON (for FMLviews), STRING (for NULL terminated character arrays), and CARRAY or X_OCTET (for a character array that is neither encoded nor decoded during transmission). Of these types, only VIEW, X_C_TYPE, and X_COMMON have subtypes. A VIEW subtype gives the name of the particular VIEW expected by the service. Application types and subtypes can also be added (see tuxtypes(5)). For a buffer type that has subtypes, ``*'' can be specified for the subtype to indicate that the service accepts all subtypes for the associated buffer type.

A single service can only interpret a fixed number of buffer types, namely those found in its buffer type switch (see tuxtypes(5)). If the TA_BUFTYPE attribute value is set to ALL, that service will accept all buffer types found in its buffer type switch.

A type name can be 8 characters or less in length and a subtype name can be 16 characters or less in length. Note that type and subtype names should not contain semicolon, colon, comma, or asterisk characters.

Limitation: This attribute value represents the buffer types that must be supported by each and every instance of an application service with this service name. Since this attribute value is processed at service activation time, updates to this attribute are allowed only when there are no active T_SVCGRP objects with matching service names.

TA_ROUTINGNAME: string[0...15]
This T_SERVICE object has the indicated routing criteria name. Active updates to this attribute will be reflected in all associated T_SVCGRP objects.

Limitations

None.

T_SVCGRP CLASS DEFINITION

Overview

The T_SVCGRP class represents configuration and runtime attributes of services/groups within an application. These attribute values identify and characterize configured services/groups as well as provide runtime tracking of statistics and resources associated with each object. Both the T_SERVICE class and the T_SVCGRP class define activation time attribute settings for service names within the application. When a new service is activated (advertised), either due to initial activation of a server or due to a call to tpadvertise(3c), the following hierarchy exists for determining the attribute values to be used at service startup time.

1.
If a matching configured T_SVCGRP object exists (matching service name and server group), then the attributes defined in that object are used to initially configure the advertised service.

2.
Otherwise, if a matching configured T_SERVICE object exists (matching service name), then the attributes defined in that object are used to initially configure the advertised service.

3.
Otherwise, if any configured T_SVCGRP objects are found with matching TA_SERVICENAME attribute values, then the first one found is used to initially configure the advertised service.

4.
If none of the preceding cases is used, then the system defaults for service attributes are used to initially configure the advertised service.

The specification of configuration attributes for application services is completely optional, that is, services advertised by servers as they are activated will take on the established default service attribute values if configured values are not available (see above for description of how attribute values are identified at service activation time). Service names to be offered by a server are built in at runtime (see buildserver(1)) and may be overridden by the command line options specified for a server object (see T_SERVER:TA_CLOPT and servopts(5)). Once a T_SVCGRP object is active, it is represented solely by the T_SVCGRP class. A particular service name/group name combination may have more than one associated T_SVCGRP class at runtime if there are multiple servers within the group offering the service.

Attribute Table

TM_MIB(5): T_SVCGRP Class Definition Attribute Table
Attribute Type Permissions Values Default
TA_SERVICENAME ( r )( * ) string ru-r--r-- string[1...15] N/A
TA_SRVGRP( r )( * ) string ru-r--r-- string[1...30] N/A
TA_GRPNO( k ) long r--r--r-- 1 <= num < 30,000 N/A
TA_STATE( k ) string rwxr-xr-- GET:"{ACT|INA |SUS|PAR}" N/A
SET:"{NEW|INV |ACT|INA|SUS}" N/A
TA_AUTOTRAN string rwxr-xr-- "{Y|N}" "N"
TA_LOAD long rwxr-xr-- 1 <= num < 32K 50
TA_PRIO long rwxr-xr-- 1 <= num < 101 50
TA_SVCTIMEOUT long rwyr-yr-- 0 <= num 0
TA_TRANTIME long rwxr-xr-- 0 <= num 30
TA_LMID( k ) string R--R--R-- LMID N/A
TA_RQADDR( * ) string R--R--R-- string[1...30] N/A
TA_SRVID( * ) long R--R--R-- 1 <= num < 30,001 N/A
TA_SVCRNAM string R-XR-XR-- string[1...15] (Note 2)
TA_BUFTYPE string r--r--r-- string[1...256] N/A
TA_ROUTINGNAME string r--r--r-- string[0...15] N/A
TA_SVCTYPE( k ) string r--r--r-- "{APP|CALLABLE|SYSTEM}" "APP"
T_SVCGRP Class: LOCAL Attributes
TA_NCOMPLETED long R-XR-XR-- 0 <= num N/A
TA_NQUEUED long R--R--R-- 0 <= num < 32K N/A

( k ) - GET key field

( r ) - Required field for object creation (SET TA_STATE NEW)

( * ) - GET/SET key, one or more required for SET operations (see Note 1)

Note 1.
SET operations on this class must specify sufficient key fields to uniquely identify the object being addressed. If the object is active, then it may be necessary to augment the TA_SERVICENAME and TA_SRVGRP key fields with either TA_RQADDR or TA_SRVID. Modifications to an active object will affect that object and the related configuration record but not other active objects that may have derived their runtime attributes from the same configuration record.

Note 2.
If nothing is specified for this attribute, it defaults to TA_SERVICENAME.

Attribute Semantics

TA_SERVICENAME: string[1...15]
Service name.

TA_SRVGRP: string[1...30]
Server group name. Server group names cannot contain an asterisk (*), comma, or colon. The hierarchy of the search for service attributes to be used at service activation time is described above in the T_SVCGRP Overview section.

TA_GRPNO: 1 <= num < 30,000
Server group number.

TA_STATE:

GET: {ACTive|INActive|SUSpended|PARtitioned}
A GET operation will retrieve configuration and runtime information for the selected T_SVCGRP object(s). The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned.

ACTive
T_SVCGRP object is active within the server identified by the returned values for the TA_SRVGRP and TA_SRVID attributes. Attribute values returned indicate the current runtime instance of the service and may not be reflected in the configuration instance if temporary updates have been performed.

INActive
T_SVCGRP object is defined and inactive.

SUSpended
T_SVCGRP object defined, active, and currently suspended. This service is not available for access by the application in this state. This state is ACTive equivalent for the purpose of determining permissions.

PARtitioned
T_SVCGRP object defined, active, and currently partitioned from the master site of the application. This service is not available for access by the application in this state. This state is ACTive equivalent for the purpose of determining permissions.

SET: {NEW|INValid|ACTive|INActive|SUSpended}
A SET operation will update configuration and runtime information for the selected T_SVCGRP object. Note that runtime modifications to a service object may affect more than one active server. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.

NEW
Create T_SVCGRP object for application. State change allowed only when in the INValid state. Successful return leaves the object in the INActive state.

Limitation: Unconfigured services may still be active by virtue of a server advertising them. In this case, the service class state is ACTive and cannot be updated.

unset
Modify an existing T_SVCGRP object. This combination is not allowed in the INValid state. Successful return leaves the object state unchanged.

INValid
Delete T_SVCGRP object for application. State change allowed only when in the INActive state. Successful return leaves the object in the INValid state.

ACTive
Activate (advertise) the T_SVCGRP object. State change allowed only when in the INActive, SUSpended or INValid states. Either TA_SRVID or TA_RQADDR must be specified with this state change. For the purpose of determining permissions for this state transition, the active object permissions are considered (that is, --x--x--x). Successful return leaves the object in the ACTive state.

Limitation: State change not permitted for service names (TA_SERVICENAME) beginning with the reserved string ".".

INActive
Deactivate the T_SVCGRP object. State change allowed only when in the SUSpended state. Successful return leaves the object in either the INActive (configured entries) or INValid (unconfigured entries) state.

Limitation: State change not permitted for service names (TA_SERVICENAME) beginning with the reserved string "_".

SUSpended
Suspend the T_SVCGRP object. State change allowed only when in the ACTive state. Successful return leaves the object in the SUSpended state.

Limitation: State change not permitted for service names (TA_SERVICENAME) beginning with the reserved string "_".

TA_AUTOTRAN: {Y|N}
Automatically begin a transaction ("Y") when a service request message is received for this service if the request is not already in transaction mode.

TA_LOAD: 1 <= num < 32K
This T_SVCGRP object imposes the indicated load on the system. Service loads are used for load balancing purposes, that is, queues with higher enqueued workloads are less likely to be chosen for a new request.

TA_PRIO: 1 <= num < 101
This T_SVCGRP object has the indicated dequeuing priority. If multiple service requests are waiting on a queue for servicing, the higher priority requests will be serviced first.

TA_SVCTIMEOUT: 0 <= num
Time limit (in seconds) for processing requests for this service name. Servers processing service requests for this service will be abortively terminated (kill -9) if they exceed the specified time limit in processing the request. A value of 0 for this attribute indicates that the service should not be abortively terminated.

Limitation: This attribute value is not enforced on TUXEDO System/T Release 4.2.2 sites or earlier.

TA_TRANTIME: 0 <= num
Transaction timeout value in seconds for transactions automatically started for this T_SVCGRP object. Transactions are started automatically when a request not in transaction mode is received and the T_SVCGRP:TA_AUTOTRAN attribute value for the service is "Y".

TA_LMID: LMID
Current logical machine on which an active server offering this service is running.

TA_RQADDR: string[1...30]
Symbolic address of the request queue for an active server offering this service. See T_SERVER:TA_RQADDR for more information on this attribute.

TA_SRVID: 1 <= num < 30,001
Unique (within the server group) server identification number for an active server offering this service. See T_SERVER:TA_SRVID for more information on this attribute.

TA_SVCRNAM: string[1...15]
Function name within the associated server assigned to process requests for this service. On a SET request, the server must be able to map the function name to a function using its symbol table to successfully advertise the service. In some situations (for example, direct calls to tpadvertise(3c) by the server), the function name for an ACTive service object will not be known and the string "?" will be returned as the attribute value.

Limitation: This attribute may only be set along with a state change from INActive to ACTive.

TA_BUFTYPE: string[1...256]
Configured buffer types accepted by this service.

Limitation: This attribute is settable only via the corresponding T_SERVICE class object.

TA_ROUTINGNAME: string[0...15]
Routing criteria name.

Limitation: This attribute is settable only via the corresponding T_SERVICE class object.

Number of service requests completed with respect to the retrieved ACTive or SUSpended object since it was activated (advertised).

Limitation: This attribute is returned only when the T_DOMAIN:TA_LDBAL attribute is set to "Y".

TA_SVCTYPE: {APP|CALLABLE|SYSTEM}

Type of service. APP indicates an application defined service name. CALLABLE indicates a system provided callable service. SYSTEM indicates a system provided and system callable service. SYSTEM services are not available to application clients and servers for direct access. Note that when used as a GET key field, a delimited list ('|' delimiter) may be used to retrieve multiple types of service group entries on one request. By default, only APP services are retrieved.

Number of requests currently enqueued to this service. This attribute is incremented at enqueue time and decremented when the server dequeues the request.

Limitation: This attribute is returned only when the T_DOMAIN:TA_MODEL attribute is set to SHM and the T_DOMAIN:TA_LDBAL attribute is set to "Y".

TA_NCOMPLETED: 0 <= num
Number of service requests completed with respect to the retrieved ACTive or SUSpended object since it was activated (advertised).

Limitation: This attribute is returned only when the T_DOMAIN:TA_LDBAL attribute is set to "Y".

TA_NQUEUED: 0 <= num < 32K
Number of requests currently enqueued to this service. This attribute is incremented at enqueue time and decremented when the server dequeues the request.

Limitation: This attribute is returned only when the T_DOMAIN:TA_MODEL attribute is set to SHM and the T_DOMAIN:TA_LDBAL attribute is set to "Y".

Limitations

None.

T_TLISTEN Class Definition

Overview

The T_TLISTEN class represents runtime attributes of /T listener processes for a distributed application.

Attribute Table

TM_MIB(5): T_TLISTEN Class Definition Attribute Table
Attribute Type Permissions Values Default
TA_LMID( k ) string R--R--R-- LMID N/A
TA_STATE( k ) string R--R--R-- GET:"{ACT|INA}" N/A
SET:N/A N/A

( k ) - GET key field

Attribute Semantics

TA_LMID: LMID
Logical machine identifier.

TA_STATE:
GET: {INActive|ACTive}
A GET operation will retrieve runtime information for the selected T_TLISTEN object(s). The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned.

INActive
T_TLISTEN object not active.

ACTive
T_TLISTEN object active.

SET:
SET operations are not permitted on this class. This attribute is settable only via the corresponding T_SERVICE class object.

Limitations

This class is not available through the tpadmcall(3c) interface.

T_TLOG CLASS DEFINITION

Overview

The T_TLOG class represents configuration and runtime attributes of transaction logs. This class allows the user to manipulate logs within an application, that is, create, destroy, migrate, etc.

Attribute Table

TM_MIB(5): T_TLOG Class Definition Attribute Table
Attribute (Note 1) Type Permissions Values Default
TA_LMID( * ) string r--r--r-- LMID N/A
TA_STATE( k ) string r-xr-xr-- GET:"{ACT|INA|WAR}" N/A
SET:"{WAR}" N/A
TA_TLOGCOUNT long r-xr-xr-- 1 <= num N/A
TA_TLOGINDEX long r-xr-xr-- 0 <= num N/A
TA_GRPNO( k ) long r--r--r-- 1 <= num < 30,000 Note 2
TA_TLOGDATA string r-xr-xr-- string[1...256] Note 2

( k ) - GET key field

( * ) - GET/SET key, one or more required for SET operations

Note 1.
All attributes in Class T_TLOG are local attributes

One or more TA_GRPNO and TA_TLOGDATA attribute values may be returned with each object of the T_TLOG class. The attribute values for each of these attributes belonging to the particular object are the TA_TLOGCOUNT number of occurrences beginning with the TA_TLOGINDEX.

Attribute Semantics

TA_LMID: LMID
Transaction log logical machine identifier.

TA_STATE:
GET: {ACTive|INActive|WARmstart}
A GET operation will retrieve log configuration and runtime information for the selected T_TLOG object(s). The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned.
ACTive
The transaction log exists and is actively logging commit records for transactions coordinated on the site. This corresponds to the associated T_MACHINE object being active.

INActive
The transaction log exists but is currently inactive. This state corresponds to the associated T_MACHINE object being inactive and can only be returned if the site has a tlisten(1) process running; otherwise, the site is unreachable and a object will not be returned.

WARmstart
The transaction log exists, is currently active, and is marked for warmstart processing. Warmstart processing will occur when the next server group is started on the site. This state is ACTive equivalent for the purposes of determining permissions.

SET: {WARmstart}
A SET operation will update log configuration and runtime information for the selected T_TLOG object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.

unset
Modify T_TLOG object. Allowed only when in the ACTive state. Successful return leaves the object state unchanged. The only object modifications permitted on this class are additions to the transaction log. In this case, TA_TLOGINDEX and TA_TLOGCOUNT indicate the objects of TA_TLOGDATA to be added.

WARmstart
Initiate warmstart for the T_TLOG object. State change allowed only when in the ACTive state. Successful return leaves the object in the WARmstart state.

TA_TLOGCOUNT: 1 <= num
Number of transaction log data records (TA_TLOGDATA) counted, retrieved, or to be added. This attribute is ignored for SET operations with a state change indicated. For valid SET operations with no state change, this attribute indicates the number of log records to be added to an active transaction log. A GET operation with neither TA_GRPNO nor TA_TLOGDATA specified returns a count of in use log records. A GET operation with only TA_GRPNO set will return a count of in use log records with a coordinator group matching the indicated group. A GET operation with only TA_TLOGDATA set ("") will return a count of in use log records and populate arrays of TA_TLOGDATA and TA_GRPNO attribute values corresponding to the in use log records. A GET operation with both TA_GRPNO and TA_TLOGDATA set ("") will return a count of in use log records with a coordinator group matching the indicated group and populate arrays of TA_TLOGDATA and TA_GRPNO attribute values corresponding to the in use log records.

TA_TLOGINDEX: 0 <= num
Index of the first object specific attribute values (TA_GRPNO and TA_TLOGDATA) corresponding to this object.

TA_GRPNO: 1 <= num < 30,000
Transaction coordinator's group number.

TA_TLOGDATA: string[1...256]
Formatted transaction log entry. This attribute value should not be interpreted directly. Rather, it should be used solely as a means of migrating log records as part of server group migration.

Limitations

Retrieval and update of information from/to INActive objects is not supported in TUXEDO System/T Release 5.0.

T_TRANSACTION CLASS DEFINITION

Overview

The T_TRANSACTION class represents runtime attributes of active transactions within the application.

Attribute Table

TM_MIB(5): T_TRANSACTION Class Definition Attribute Table
Attribute (Note 1) Type Permissions Values Default
TA_COORDLMID( k ) string R--R--R-- LMID N/A
TA_LMID( k ) string R--R--R-- LMID N/A
TA_TPTRANID( * ) string R--R--R-- string[1...78] N/A
TA_XID( * ) string R--R--R-- string[1...78] N/A
TA_STATE( k ) string R-XR-XR-- GET:"{ACT|ABY|ABD|COM| REA|DEC|SUS}" N/A
SET:"{ABD}" N/A
TA_TIMEOUT long R--R--R-- 1 <= num N/A
TA_GRPCOUNT long R--R--R-- 1 <= num N/A
TA_GRPINDEX long R--R--R-- 0 <= num N/A
TA_GRPNO long R--R--R-- 1 <= num < 30,000 (Note 2)
TA_GSTATE string R-XR-XR-- GET:"{ACT|ABD|RDO|REA| HCO|HAB|DON}" (Note 2)
SET:"{HCO|HAB}" N/A

( k ) - GET key field

( * ) - GET/SET key, one or more required for SET operations

Note 1.
All attributes in Class T_TRANSACTION are local attributes.

Note 2.
One or more TA_GRPNO and TA_GSTATE attribute values may be returned with each object of the T_TRANSACTION class. The attribute values for each of these attributes belonging to the particular object are the TA_GRPCOUNT number of occurrences beginning with the TA_GRPINDEX.

Attribute Semantics

TA_COORDLMID: LMID
Logical machine identifier of the server group responsible for coordinating the transaction.

TA_LMID: LMID
Retrieval machine logical machine identifier. Note that transaction attributes are primarily kept local to a site and coordinated via common transaction identifiers by transaction management servers (TMSs).

TA_TPTRANID: string[1...78]
Transaction identifier as returned from tpsuspend(3c) mapped to a string representation. The data in this field should not be interpreted directly by the user except for equality comparison.

TA_XID: string[1...78]
Transaction identifier as returned from tx_info(3c) mapped to a string representation. The data in this field should not be interpreted directly by the user except for equality comparison.

TA_STATE:

GET: {ACTive|ABortonlY|ABorteD|COMcalled|REAdy|DECided|SUSpended}
A GET operation will retrieve runtime information for the selected T_TRANSACTION object(s). The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned. Note that distinct objects pertaining to the same global transaction (equivalent transaction identifiers) may indicate differing states. In general, the state indicated on the coordinator's site (TA_COORDLMID) indicates the true state of the transaction. The exception is when a non-coordinator site notices a condition that transitions the transaction state to ABortonlY. This transition will eventually be propagated to the coordinator site and result in the rollback of the transaction, but this change may not be immediately reflected on the coordinator site. All states are ACTive equivalent for the purpose of determining permissions.

ACTive
The transaction is active.

ABortonlY
The transaction has been identified for rollback on the retrieval site.

ABorteD
The transaction has been identified for rollback and rollback has been initiated on the retrieval site.

COMcalled
The initiator of the transaction has called tpcommit(3c) and the first phase of two-phase commit has begun on the retrieval site.

REAdy
All of the participating groups on the retrieval site have successfully completed the first phase of two-phase commit and are ready to be committed.

DECided
The second phase of the two-phase commit has begun on the retrieval site.

SUSpended
The initiator of the transaction has suspended processing on the transaction. Note that this state will be returned from the initiator's site only.

SET: {ABorteD}
A SET operation will update runtime information for the selected T_TRANSACTION object. The following states indicate the meaning of a TA_STATE set in a SET request. States not listed may not be set.

unset
Modify an existing T_TRANSACTION object. This combination is allowed only when in the REAdy state and only for the purpose of updating an individual group's state (see TA_GSTATE below). Successful return leaves the object state unchanged.

ABorteD
Abort the T_TRANSACTION object for the application. State change allowed only when in the ACTive, ABortonlY, or COMcalled states. May not be accompanied by a change to TA_GSTATE. Successful return leaves the object in the ABorteD state.

TA_TIMEOUT: 1 <= num
Time left, in seconds, before the transaction will timeout on the retrieval site. Note that this attribute value is returned only when the transaction state (TA_STATE) is ACTive.

TA_GRPCOUNT: 1 <= num
Number of groups identified as participants in the transaction by the information returned from the retrieval site.

TA_GRPINDEX: 1 <= num
Index of the first group specific attribute values (TA_GRPNO and TA_GSTATE) corresponding to this object.

TA_GRPNO: 1 <= num < 30,000
Group number of the participating group.

TA_GSTATE:

GET: {ACTive|ABorteD|ReaDOnly|REAdy|HCOmmit|HABort|DONe}
A GET operation will retrieve runtime information for the selected T_TRANSACTION object(s) pertaining to the indicated group. The following states indicate the meaning of a TA_GSTATE returned in response to a GET request. States not listed will not be returned. Note that distinct objects pertaining to the same global transaction (equivalent transaction identifiers) may indicate differing states for individual groups. In general, the state indicated on the group's site indicates the true state of the group's participation in the transaction. The exception is when the coordinator site determines that the transaction should abort and sets each participant group state to ABorteD. This transition will be propagated to the group's site and result in the rollback of the group's work in the transaction but may not be reflected immediately.

ACTive
The transaction is active in the indicated group.

ABorteD
The transaction has been identified for rollback and rollback has been initiated for the indicated group.

ReaDOnly
The group has successfully completed the first phase of two-phase commit and has performed only read operations on the resource manager, thus making it unnecessary to perform the second phase of commit for this group.

REAdy
The group has successfully completed the first phase of two-phase commit and is ready to be committed.

HCOmmit
The group has been heuristically committed. This may or may not agree with the final resolution of the transaction.

HABort
The group has been heuristically rolled back. This may or may not agree with the final resolution of the transaction.

DONe
This group has completed the second phase of the two-phase commit.

SET: {HCOmmit|HABort}
A SET operation will update runtime information for the first group in the originating request within the selected T_TRANSACTION object. The following states indicate the meaning of a TA_GSTATE set in a SET request. States not listed may not be set. State transitions are allowed only when performed within the object representing the group's site (TA_LMID).

HCOmmit
Heuristically commit the group's work as part of the indicated transaction. State change allowed only when TA_GSTATE is REAdy, TA_STATE is REAdy, and the indicated group is not on the coordinator's site. Successful return leaves the object in the HCOmmit state.

HABort
Heuristically rollback the group's work as part of the indicated transaction. State change allowed only when TA_GSTATE is ACTive or REAdy, TA_STATE is REAdy, and the indicated group is not on the coordinator's site. Successful return leaves the object in the HABort state.

Limitations

None.

T_ULOG CLASS DEFINITION

Overview

The T_ULOG class represents runtime attributes of userlog(3c) files within an application.

Attribute Table

TM_MIB(5): T_ULOG Class Definition Attribute Table
Attribute (Note 1) Type Permissions Values Default
TA_LMID( k ) string R--R--R-- LMID (Note 2)
TA_PMID( x ) string R--R--R-- string[1...30] (Note 2)
TA_MMDDYY( k ) long R--R--R-- mmddyy Current date
TA_STATE string R--R--R-- GET:"{ACT}" N/A
SET:N/A N/A
TA_ULOGTIME( k ) long R--R--R-- hhmmss 000000
TA_ENDTIME( k ) long K--K--K-- hhmmss 235959
TA_ULOGLINE( k ) long R--R--R-- 1 <= num 1
TA_ULOGMSG( x ) string R--R--R-- string[1...256] N/A
TA_TPTRANID( k ) string R--R--R-- string[1...78] N/A
TA_XID( k ) string R--R--R-- string[1...78] N/A
TA_PID( k ) long R--R--R-- 1 <= num N/A
TA_SEVERITY( x ) string R--R--R-- string[1...30] N/A
TA_ULOGCAT( x ) string R--R--R-- string[1...30] N/A
TA_ULOGMSGNUM( k ) long R--R--R-- 1 <= num N/A
TA_ULOGPROCNM( x ) string R--R--R-- string[1...30] N/A

( k ) - GET key field

( x ) - Regular expression GET key field

Note 1.
All attributes in Class T_ULOG are local attributes.

Note 2.
TA_LMID is a required field used by the system to determine which application log file should be accessed. It is not used to restrict returned records to only those generated from processes running on the indicated machine. In cases where multiple machines share a log file via a networked file system, multiple TA_LMID values may be returned even though a specific value has been provided as a key field. For the same reasons, TA_PMID is not considered in directing the request to a particular machine, but is used in determining which records should be returned. In this capacity, it may be useful to leverage TA_PMID as a regular expression key field.

Attribute Semantics

TA_LMID: LMID
Retrieval machine logical machine identifier.

TA_PMID: string[1...30]
Physical machine identifier.

TA_MMDDYY: mmddyy
Date of userlog file found or to be accessed.

TA_STATE:
GET: {ACTive}
A GET operation will retrieve runtime information for the selected T_ULOG object(s). The following states indicate the meaning of a TA_STATE returned in response to a GET request. States not listed will not be returned.

ACTive
The object returned reflects an existing userlog file on the indicated logical machine.

SET:
SET operations are not permitted on this class.

TA_ULOGTIME: hhmmss
The time of the userlog message represented by this object. The value of this attribute is formed by multiplying the hour by 10,000, adding to that the minute multipled by 100, and finally adding in the seconds. When used as a key field, this attribute represents the start of the time range to be accessed for messages.

TA_ENDTIME: hhmmss
The latest time to be considered in a GET operation when accessing this userlog file.

TA_ULOGLINE: 1 <= num
The line number of the userlog message returned/requested within the userlog file. When used as a key field for retrieval, this value indicates the starting line within the log file.

TA_ULOGMSG: string[1...256]
The entire text of the userlog message as it appears in the userlog file.

TA_TPTRANID: string[1...78]
Transaction identifier as returned from tpsuspend(3c). The data in this field should not be interpreted directly by the user except for equality comparison. Messages not associated with transactions will retrieve a 0-length string as the value for this attribute.

TA_XID: string[1...78]
Transaction identifier as returned from tx_info(3c). The data in this field should not be interpreted directly by the user except for equality comparison. Messages not associated with transactions will retrieve a 0-length string as the value for this attribute.

TA_PID: 1 <= num
Process identifier of the client or server that generated the userlog message.

TA_SEVERITY: string[1...30]
Severity of message, if any.

TA_ULOGCAT: string[1...30]
Catalog name from which the message was derived, if any.

TA_ULOGMSGNUM: 1 <= num
Catalog message number, if the message was derived from a catalog.

TA_ULOGPROCNM: string[1...30]
Process name of the client or server that generated the userlog message.

Limitations

Retrievals may be done only if the associated T_MACHINE object is also ACTive. Retrievals for this class must be directed, that is, the TA_LMID attribute must be specified. Retrievals of log records written by workstation clients are available only if the log file used by the client is shared with one of the machines defined in the T_MACHINE class for the application. Otherwise, these log records are unavailable through this class. Retrievals on this class which cannot be completely satisfied will always return a TA_MORE value of 1 indicating only that more information may be available for the originating request.

DIAGNOSTICS

There are two general types of errors that may be returned to the user when interfacing with TM_MIB(5). First, any of the three ATMI verbs ( tpcall(3c), tpgetrply(3c), and tpdequeue(3c)) used to retrieve responses to administrative requests may return any error defined for them. These errors should be interpreted as described on the appropriate manual pages.

If, however, the request is successfully routed to a system service capable of satisfying the request and that service determines that there is a problem handling the request, then failure may be returned in the form of an application level service failure. In these cases, tpcall(3c) and tpgetrply(3c) will return an error with tperrno set to TPESVCFAIL and return a reply message containing the original request along with TA_ERROR, TA_STATUS, and TA_BADFLD fields further qualifying the error as described below. When a service failure occurs for a request forwarded to the system through the TMQFORWARD(5) server, the failure reply message will be enqueued to the failure queue identified on the original request (assuming the -d option was specified for TMQFORWARD).

When a service failure occurs during processing of an administrative request, the FML32 field TA_STATUS is set to a textual description of the failure, and the FML32 field TA_ERROR is set to indicate the cause of the failure as indicated below. All error codes specified below are guaranteed to be negative.

[other]
Other error return codes generic to any component MIB are specified in the MIB(5) manual page. These error codes are guaranteed to be mutually exclusive with any TM_MIB(5) specific error codes defined here.

The following diagnostic codes are returned in TA_ERROR to indicate successful completion of an administrative request. These codes are guaranteed to be non-negative.

[other]
Other return codes generic to any component MIB are specified in the MIB(5) manual page. These return codes are guaranteed to be mutually exclusive with any TM_MIB(5) specific return codes defined here.

INTEROPERABILITY

The header files and field tables defined in this manual page are available on TUXEDO System/T Release 5.0 and later. Fields defined in these headers and tables will not be changed from release to release. New fields may be added which are not defined on the older release site. Access to the /AdminAPI is available from any site with the header files and field tables necessary to build a request. If sites of differing releases, both greater than or equal to Release 5.0, are interoperating, then information on the older site is available for access and update as defined in the MIB manual page for that release and may be a subset of the information available in the later release.

PORTABILITY

The existing FML32 and ATMI functions necessary to support administrative interaction with TUXEDO System MIBs, as well as the header file and field table defined in this manual page, are available on all supported native and workstation platforms.

EXAMPLE

Following is a sequence of code fragments that configure, activate, query, and deactivate a two node application using both tpadmcall(3c) and tpcall(3c). Variable names are used in places where reasonable values for a local environment are required, for example, tuxconfig is a two element array of character pointers with each element identifying the full path name of the TUXCONFIG file on that machine.

Field Tables

The field table tpadm must be available in the environment to have access to attribute field identifiers. This can be done at the shell level as follows:


$ FIELDTBLS=tpadm
$ FLDTBLDIR=${TUXDIR}/udataobj
$ export FIELDTBLS FLDTBLDIR

Header Files

The following header files are included.


#include &ltatmi.h>
#include &ltfml32.h>
#include &lttpadm.h>

Initial Configuration

The following code creates and populates an FML32 buffer that is then passed to tpadmcall(3c) for processing. This example also shows interpretation of tpadmcall(3c) return codes. The request shown creates the initial configuration for the application.


/* Allocate and initialize the buffer */
ibuf = (FBFR32 *)tpalloc("FML32", NULL, 4000);
obuf = (FBFR32 *)tpalloc("FML32", NULL, 4000);
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* Set TM_MIB(5) attributes to be set in T_DOMAIN class object */
Fchg32(ibuf, TA_OPTIONS, 0, "LAN,MIGRATE", 0);
Fchg32(ibuf, TA_IPCKEY, 0, (char *)&ampipckey, 0);
Fchg32(ibuf, TA_MASTER, 0, "LMID1", 0);
Fchg32(ibuf, TA_MODEL, 0, "MP", 0);
/* Set TM_MIB(5) attributes for TA_MASTER T_MACHINE class object */
Fchg32(ibuf, TA_LMID, 0, "LMID1", 0);
Fchg32(ibuf, TA_PMID, 0, pmid[0], 0);
Fchg32(ibuf, TA_TUXCONFIG, 0, tuxconfig[0], 0);
Fchg32(ibuf, TA_TUXDIR, 0, tuxdir[0], 0);
Fchg32(ibuf, TA_APPDIR, 0, appdir[0], 0);
Fchg32(ibuf, TA_ENVFILE, 0, envfile[0], 0);
Fchg32(ibuf, TA_ULOGPFX, 0, ulogpfx[0], 0);
Fchg32(ibuf, TA_BRIDGE, 0, "/dev/tcp", 0);
Fchg32(ibuf, TA_NADDR, 0, naddr[0], 0);
Fchg32(ibuf, TA_NLSADDR, 0, nlsaddr[0], 0);
/* Perform the action via tpadmcall() */
if (tpadmcall(ibuf, &ampobuf, 0) < 0) {
    fprintf(stderr, "tpadmcall failed: %s\n", tpstrerror(tperrno));
    /* Additional error case processing */
}

Add Second Machine

The following code reuses the buffers allocated in the previous section to build a request buffer. The request shown below adds a second machine to the configuration established earlier.


/* Clear the request buffer */
Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_MACHINE", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* Set TM_MIB(5) attributes to be set in T_MACHINE class object */
Fchg32(ibuf, TA_LMID, 0, "LMID2", 0);
Fchg32(ibuf, TA_PMID, 0, pmid[1], 0);
Fchg32(ibuf, TA_TUXCONFIG, 0, tuxconfig[1], 0);
Fchg32(ibuf, TA_TUXDIR, 0, tuxdir[1], 0);
Fchg32(ibuf, TA_APPDIR, 0, appdir[1], 0);
Fchg32(ibuf, TA_ENVFILE, 0, envfile[1], 0);
Fchg32(ibuf, TA_ULOGPFX, 0, ulogpfx[1], 0);
Fchg32(ibuf, TA_BRIDGE, 0, "/dev/tcp", 0);
Fchg32(ibuf, TA_NADDR, 0, naddr[1], 0);
Fchg32(ibuf, TA_NLSADDR, 0, nlsaddr[1], 0);
tpadmcall(....); /* See earlier example for detailed error processing  */

Make Second Machine Backup Master

The existing buffers are again reused to identify the newly configured second machine as the backup master site for this application.


/* Clear the request buffer */
Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
/* Set TM_MIB(5) T_DOMAIN attributes changing */
Fchg32(ibuf, TA_MASTER, 0, "LMID1,LMID2", 0);
tpadmcall(....); /* See earlier example for detailed error processing  */

Add Two Server Groups

Reuse the buffers to generate two requests, each adding one server group to the configured application. Note how the second request simply modifies the necessary fields in the existing input buffer.


/* Clear the request buffer */
Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_GROUP", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* Set TM_MIB(5) attributes defining first group */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP1", 0);
Fchg32(ibuf, TA_GRPNO, 0, (char *)&ampgrpno[0], 0);
Fchg32(ibuf, TA_LMID, 0, "LMID1,LMID2", 0);
tpadmcall(....); /* See earlier example for detailed error processing  */
/* Set TM_MIB(5) attributes defining second group */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP2", 0);
Fchg32(ibuf, TA_GRPNO, 0, (char *)grpno[1], 0);
Fchg32(ibuf, TA_LMID, 0, "LMID2,LMID1", 0);
tpadmcall(....); /* See earlier example for detailed error processing  */

Add One Server Per Group

Reuse the allocated buffers to add one server per group to the configured application.


/* Clear the request buffer */
Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_SERVER", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* Set TM_MIB(5) attributes defining first server */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP1", 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)&ampsrvid[0], 0);
Fchg32(ibuf, TA_SERVERNAME, 0, "ECHO", 0);
tpadmcall(....); /* See earlier example for detailed error processing  */
/* Set TM_MIB(5) attributes defining second server */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP2", 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)&ampsrvid[1], 0);
tpadmcall(....); /* See earlier example for detailed error processing  */

Add Routing Criteria

Add a routing criteria definition. Note that routing criteria may be dynamically added to a running application using a similar operation via the tpcall(3c) interface.


/* Clear the request buffer */
Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_ROUTING", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* Set TM_MIB(5) attributes defining routing criteria */
Fchg32(ibuf, TA_ROUTINGNAME, 0, "ECHOROUTE", 0);
Fchg32(ibuf, TA_BUFTYPE, 0, "FML", 0);
Fchg32(ibuf, TA_FIELD, 0, "LONG_DATA", 0);
Fchg32(ibuf, TA_RANGES, 0, "MIN-100:GRP1,100-MAX:GRP2", 26);
tpadmcall(....); /* See earlier example for detailed error processing  */

Add Service Definition

Define a service object that maps the advertised service name to the routing criteria we've just defined above.


/* Clear the request buffer */
Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_SERVICE", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* Set TM_MIB(5) attributes defining service entry */
Fchg32(ibuf, TA_SERVICENAME, 0, "ECHO", 0);
Fchg32(ibuf, TA_ROUTINGNAME, 0, "ECHOROUTE", 0);
tpadmcall(....); /* See earlier example for detailed error processing  */

Activate Master Site Admin

Activate the master site administrative processes (DBBL, BBL, BRIDGE) by setting the T_DOMAIN class object state to ACTIVE.


/* Clear the request buffer */
Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
Fchg32(ibuf, TA_STATE, 0, "ACT", 0);
tpadmcall(....); /* See earlier example for detailed error processing  */

Switch to Active Application Administration

Now that the application is active, we need to join the application and make our /AdminAPI requests via the tpcall(3c) interface.


/* Now that the system is active, join it as the administrator */
tpinfo = (TPINIT *)tpalloc("TPINIT", NULL, TPINITNEED(0));
sprintf(tpinfo->usrname, "appadmin");
sprintf(tpinfo->cltname, "tpsysadm");
if (tpinit(tpinfo) < 0) {
    fprintf(stderr, "tpinit() failed: %s\n", tpstrerror(tperrno));
    /* Additional error case processing */
}
/* Reinitialize buffers as typed buffers */
Finit32(ibuf, Fsizeof32(ibuf));
Finit32(obuf, Fsizeof32(obuf));

Activate Rest of Application

Activate the remaining portions of the application. Note that the administrative user may request unsolicited notification messages be sent just before and just after the attempted boot of each server by setting the TMIB_NOTIFY flag in the TA_FLAGS attribute of the request. This example shows handling of an error return from tpcall(3c).


/* Clear the request buffer */
Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_MACHINE", 0);
Fchg32(ibuf, TA_STATE, 0, "RAC", 0);
/* Set TM_MIB(5) attributes identifying machine */
Fchg32(ibuf, TA_LMID, 0, "LMID1", 0);
/* Invoke the /AdminAPI and interpret results */
if (tpcall(".TMIB", (char *)ibuf, 0, (char **)&ampobuf, &ampolen, 0) < 0) {
    fprintf(stderr, "tpcall failed: %s\n", tpstrerror(tperrno));
    if (tperrno == TPESVCFAIL) {
        Fget32(obuf,TA_ERROR,0,(char *)&ampta_error,NULL);
        ta_status = Ffind32(obuf, TA_STATUS, 0, NULL);
        fprintf(stderr, "Failure: %ld, %s\n",
            ta_error, ta_status);
    }
    /* Additional error case processing */
}

Query Server Status

Generate a query on the status of one of the activated servers.


/* Clear the request buffer */
Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "GET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_SERVER", 0);
flags = MIB_LOCAL;
Fchg32(ibuf, TA_FLAGS, 0, (char *)&ampflags, 0);
/* Set TM_MIB(5) attributes identifying machine */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP1", 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)&ampsrvid[0], 0);
tpcall(....); /* See earlier example for detailed error processing  */

Deactivate Application

Deactivate the application by setting the state of each machine to INACTIVE. Note that the TMIB_NOTIFY flag could be used with this operation also.


/* Clear the request buffer */
Finit32(ibuf, Fsizeof32(ibuf));
/* Shutdown Remote Machine First */
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_MACHINE", 0);
Fchg32(ibuf, TA_LMID, 0, "LMID2", 0);
Fchg32(ibuf, TA_STATE, 0, "INA", 0);
tpcall(....); /* See earlier example for detailed error processing  */
/* And now application servers on master machine */
flags = TMIB_APPONLY;
Fchg32(ibuf, TA_FLAGS, 0, (char *)&ampflags, 0);
Fchg32(ibuf, TA_LMID, 0, "LMID1", 0);
tpcall(....); /* See earlier example for detailed error processing  */
/* Terminate active application access */
tpterm();
/* Finally, shutdown the master admin processes */
Finit32(ibuf, Fsizeof32(ibuf));
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
Fchg32(ibuf, TA_STATE, 0, "INA", 0);
tpadmcall(....); /* See earlier example for detailed error processing  */

FILES


${TUXDIR}/include/tpadm.h, ${TUXDIR}/udataobj/tpadm

SEE ALSO

Fintro(3fml),
Fadd32(3fml),
Fchg32(3fml),
Ffind32(3fml),
tpacall(3c),
tpalloc(3c),
tpcall(3c),
tpdequeue(3c),
tpenqueue(3c),
tpgetrply(3c),
tprealloc(3c),
MIB(5),
WS_MIB(5)
BEA TUXEDO Administrator's Guide
BEA TUXEDO Programmer's Guide