buffer type switch-buffer types provided by BEA TUXEDO system
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);
}
Shown in this page are the nine buffer types provided by the BEA TUXEDO system:
NULL
characters) that is neither encoded nor decoded during transmission
NULL
-terminated character array
CARRAY
; provided for XATMI compatibility
VIEW
; provided for XATMI compatibility
VIEW
; provided for XATMI compatibility
Note that all An application wishing to supply their own buffer type can do so by adding an instance to the A copy of the default array is delivered in On systems with shared object capability, build and install a new instance of On systems without shared object capability, build and install a new instance of See The two system-provided routing functions, VIEW
, X_C_TYPE
, and X_COMMON
buffers are handled by the same set of routines; the name of a particular view is its sub-type name.
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.
$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
.
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.
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).
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.
_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)