BEA Logo BEA WebLogic Enterprise Release 5.1

  Corporate Info  |  News  |  Solutions  |  Products  |  Partners  |  Services  |  Events  |  Download  |  How To Buy

 

   WebLogic Enterprise Doc Home   |   Tuxedo ATMI Topics   |   Previous Topic   |   Next Topic   |   Contents   |   Index

tuxtypes(5)

Name

tuxtypes-buffer types provided by BEA Tuxedo system

Synopsis

Default Buffer Type Switch

/* 
* The following definitions are specified in
* $TUXDIR/lib/tmtypesw.c
*/

#include "tmtypes.h"

/*
* Initialization of the buffer type switch.
*/

struct tmtype_sw_t tm_typesw[] = {
{
"CARRAY", "", 0
},
{
"STRING", "", 512, NULL, NULL, NULL,
_strpresend, NULL, NULL, _strencdec, NULL, _sfilter, _sformat
},
{
"FML", "", 1024, _finit, _freinit, _funinit, _fpresend,
_fpostsend, _fpostrecv, _fencdec, _froute, _ffilter, _fformat
},
{
"VIEW", "*", 1024, _vinit, _vreinit, NULL, _vpresend, NULL,
NULL, _vencdec, _vroute, _vfilter, _vformat
},
{ /* XATMI - identical to CARRAY */
"X_OCTET", "", 0
},
{ /* XATMI - identical to VIEW */
{'X','_','C','_','T','Y','P','E'}, "*", 1024, _vinit, _vreinit,
NULL, _vpresend, NULL, NULL, _vencdec, _vroute, _vfilter, _vformat
},
{ /* XATMI - identical to VIEW */
{'X','_','C','O','M','M','O','N'}, "*", 1024, _vinit, _vreinit,
NULL, _vpresend, NULL, NULL, _vencdec, _vroute, _vfilter, _vformat
},
{
"FML32", "", 1024, _finit32, _freinit32, _funinit32, _fpresend32,
_fpostsend32, _fpostrecv32, _fencdec32, _froute32, _ffilter32,
_fformat32
},
{
"VIEW32", "*", 1024, _vinit32, _vreinit32, NULL, _vpresend32, NULL,
NULL, _vencdec32, _vroute32, _vfilter32, _vformat32
},
{
""
}
};

struct tmtype_sw_t _TM_FAR *
_TMDLLENTRY
_tmtypeswaddr(void)
{
return(tm_typesw);
}

Description

The following is a list of nine buffer types provided by the BEA Tuxedo system:

Note that all VIEW, X_C_TYPE, and X_COMMON buffers are handled by the same set of routines; the name of a particular view is its subtype name.

An application wishing to supply their own buffer type can do so by adding an instance to the tm_typesw array shown above. Whenever a new buffer type is added or one is deleted, care should be taken to leave a NULL entry at the end of the array as shown above. Note that a buffer type with a NULL name is not permitted.

A copy of the default array is delivered in $TUXDIR/lib/tmtypesw.c, and may be used as a starting point. The recommended procedure for installing a new buffer type switch is to compile tmtypesw.c and store it as the only element in a library named libbuft.

On systems with shared object capability, build and install a new instance of libbuft.so. under $TUXDIR/lib. All processes, including BEA Tuxedo system processes like WSH, will then automatically have access to the new type switch without recompilation. On a Windows workstation, the shared object for the buffer type switch is named WBUFT.DLL. It should be stored in $TUXDIR\bin. See the "Buffers" chapter in the BEA Tuxedo Administrator's Guide.

On systems without shared object capability, build and install a new instance of libbuft.a under $TUXDIR/lib. All processes needing to know about the new types must then be rebuilt, using buildclient(1) or buildserver(1). System processes like WSH(5) may need to be rebuilt using special commands such as buildwsh(1).

See buffer(3) for a description of the elements and routines in the buffer type switch. Also found there is a description of built in routines provided by the BEA Tuxedo system (for example, _finit()) that applications can use when changing the system-provided buffer types.

The two system-provided routing functions, _froute() and _vroute(), are used for data dependent routing of FML buffers and VIEW buffers, respectively. See ubbconfig(5) for a description of how to define routing criteria to be used by these two functions.

Files

$TUXDIR/tuxedo/include/tmtypes.h - the type switch definition
$TUXDIR/lib/tmtypesw.c - the default type switch instantiation
$TUXDIR/lib/libbuft.so. - type switch shared object
$TUXDIR/lib/libbuft.a - type switch archive library

See Also

buffer(3), typesw(5), ubbconfig(5)