This type represents the handle returned by tpacall.
System.Object
Bea.Tuxedo.ATMI.AsyncCallDescriptor
public
sealed class AsyncCallDescriptor : Icloneable {
public AsyncCallDescriptor(int acd);
public
static implicit operator int(AsyncCallDescriptor
acd);
public
Object Clone();
}
Thread safety
This type is safe for multithreaded operations.
Remarks
Requirements
Namespace: Bea.Tuxedo.ATMI
Assembly: libwscdnet (in libwscdnet.dll)
This type defines the possible type values of a typed buffer supported by this wrapper package.
System.Object
Bea.Tuxedo.FML.FieldType
public
class BufferType {
public
const string STRING = "STRING";
public
const string CARRAY = "CARRAY";
public
const string FML = "FML";
public
const string FML32 = "FML32";
public
const string VIEW = "VIEW";
public
const string VIEW32 = "VIEW32";
public
const string XML = "XML";
public
const string TPINIT = "TPINIT";
public
const string UNKNOWN = "???";
};
Thread safety
This type is safe for multithreaded operations.
Remarks
Requirements
Namespace: Bea.Tuxedo.ATMI
Assembly: libwscdnet (in libwscdnet.dll)
Represents the carray type used in TypedVIEW and TypedVIEW32 programming..
System.Object
Bea.Tuxedo.ATMI.carray
public
sealed class carray {
public carray(int nelems);
public
static implicit operator byte[](carray ca);
public
byte this[int index] { get; set; }
public
long Length { get; }
}
Thread safety
This type is not safe for multithreaded operations.
Remarks
Example:
carray rec = new carray[100];
for (int j=0; j < rec.Length; j++)
rec[j] = j;
Requirements
Namespace: Bea.Tuxedo.ATMI
Assembly: libwscdnet (in libwscdnet.dll)
This type is equivalent to the ATMI C structure CLIENTID.
System.Object
Bea.Tuxedo.ATMI.CLIENTID
[StructLayout(LayoutKind.Sequential,
Pack=4)]
public
sealed class CLIENTID {
public
const int SIZE = 4;
[MarshalAs(UnmanagedType.ByValArray, SizeConst=SIZE)]
public readonly int[] clientdata;
public
CLIENTID() {
clientdata = new int[SIZE];
}
public CLIENTID(int i1, int i2, int i3, int i4) {
clientdata = new int[SIZE] {i1, i2, i3, i4};
};
Thread safety
This type is not safe for multithreaded operations.
Remarks
-.
The usage of this class is quite similar as to the ATMI C strcture CLIENTID.
See the following example,
CLIENTID cltid = new CLIENTID();
cltid.clientdata[0] = ..
cltid.clientdata[1] = ..
cltid.clientdata[2] = ..
cltid.clientdata[3] = ..
Requirements
Namespace: Bea.Tuxedo.ATMI
Assembly: libwscdnet (in libwscdnet.dll)
Represents the handle of a conversational service connection returned by tpconnect().
System.Object
Bea.Tuxedo.ATMI.ConversationDescriptor
public
sealed class ConversationDescriptor : ICloneable {
public ConversationDescriptor(int cd);
public
static implicit operator int(ConversationDescriptor
cd);
public
Object Clone();
}
Thread safety
This type is safe for multithreaded operations.
Remarks
Requirements
Namespace: Bea.Tuxedo.ATMI
Assembly: libwscdnet (in libwscdnet.dll)
This type is a simple wrapper for some standard IO C function, such as fopen, fclose. It’s needed as the input parameter when invoking some ATMI FML functions.
System.Object
Bea.Tuxedo.FML.FILE
public
class FILE {
public
static FILE stdin;
public
static FILE stdout;
public
static FILE stderr;
public
FILE();
public
static implicit operator IntPtr(FILE f);
public
void fopen(string path, string mode);
public
void fclose();
};
Thread safety
This type is not safe for multithreaded operations.
Remarks
Some FML functions require parameters of type FILE, create instances of this type and pass them to those FML functions as parameters.
Requirements
Namespace: Bea.Tuxedo.FML
Assembly: libwscdnet (in libwscdnet.dll)
This type defines the possible type values of an FML/FML32 field.
System.Object
Bea.Tuxedo.FML.FieldType
public
enum FieldType {
FLD_SHORT = FMLC.FLD_SHORT, //
short int
FLD_LONG = FMLC.FLD_LONG, //
long int
FLD_CHAR = FMLC.FLD_CHAR, //
character
FLD_FLOAT = FMLC.FLD_FLOAT, //
single-precision float
FLD_DOUBLE =
FMLC.FLD_DOUBLE, //
double-precision float
FLD_STRING =
FMLC.FLD_STRING, //
string - null terminated
FLD_CARRAY = FMLC.FLD_CARRAY, // character array
FLD_INT = FMLC.FLD_INT, //
7 reserved for FLD_INT (see viewmap.h)
FLD_DECIMAL = FMLC.FLD_DECIMAL, // 8 reserved for
FLD_DECIMAL (see viewmap.h)
//
field types for FML32 only
FLD_PTR = FMLC.FLD_PTR, // pointer
FLD_FML32 = FMLC.FLD_FML32, //
embedded FML32 buffer
FLD_VIEW32 =
FMLC.FLD_VIEW32, //
embedded VIEW32
FLD_MBSTRING = FMLC.FLD_MBSTRING // embedded multibyte
codeset info
}
Thread safety
This type is safe for multithreaded operations.
Remarks
Requirements
Namespace: Bea.Tuxedo.FML
Assembly: libwscdnet (in libwscdnet.dll)
This type is the .NET version of FLDID used in the parameters of methods of TypedFML and TypedFML32 classes.
System.Object
Bea.Tuxedo.FML.FLDID
public
struct FLDID {
public
FLDID(ulong fldid);
public
FLDID(long fldid);
public
static implicit operator FLDID(short fldid);
public
static implicit operator FLDID(ushort fldid);
public
static implicit operator FLDID(int fldid);
public
static implicit operator FLDID(uint fldid);
public
static implicit operator FLDID(long fldid);
public
static implicit operator FLDID(ulong fldid);
public
static explicit operator uint(FLDID fldid);
public
override string ToString();
internal
ushort GetFLDID();
internal
uint GetFLDID32();
};
Thread safety
This type is safe for multithreaded operations.
Remarks
Requirements
Namespace: Bea.Tuxedo.FML
Assembly: libwscdnet (in libwscdnet.dll)
This type is the .NET version of FLDLEN used in the parameters of methods of TypedFML and TypedFML32 classes.
System.Object
Bea.Tuxedo.FML.FLDLEN
public
struct FLDLEN {
public
FLDLEN(ulong fldlen);
public
FLDLEN(long fldlen);
public
static implicit operator FLDLEN(short fldlen);
public
static implicit operator FLDLEN(ushort fldlen);
public
static implicit operator FLDLEN(int fldlen);
public
static implicit operator FLDLEN(uint fldlen);
public
static implicit operator FLDLEN(long fldlen);
public
static implicit operator FLDLEN(ulong fldlen);
public
static explicit operator uint(FLDLEN fldlen);
public
override string ToString();
internal
ushort GetFLDLEN();
internal
uint GetFLDLEN32();
};
Thread safety
This type is safe for multithreaded operations.
Remarks
Requirements
Namespace: Bea.Tuxedo.FML
Assembly: libwscdnet (in libwscdnet.dll)
This type is the .NET version of FLDOCC used in the parameters of methods of TypedFML and TypedFML32 classes.
System.Object
Bea.Tuxedo.FML.FLDOCC
public
struct FLDOCC {
public
FLDOCC(int fldocc);
public
static implicit operator FLDOCC(int fldocc);
public
static explicit operator int(FLDOCC fldocc);
public
override string ToString();
internal
int GetFLDOCC();
internal
int GetFLDOCC32();
}
Thread safety
This type is safe for multithreaded operations.
Remarks
Requirements
Namespace: Bea.Tuxedo.FML
Assembly: libwscdnet (in libwscdnet.dll)
The type is used as parameters of Other wrapper class methods.
Please note that this long type represents a data that has the same size with native primitive long data type.
System.Object
Bea.Tuxedo.ATMI.LONG
public struct LONG {
public
override int GetHashCode();
public
override bool Equals(object obj);
public
static long Read(IntPtr ptr,
int offset);
public
static void Write(IntPtr ptr,
int offset, int value);
public
static void Write(IntPtr ptr,
int offset, long value);
public
LONG(int value);
public
LONG(long value);
public
static bool operator ==(LONG value1, LONG value2);
public static bool operator
!=(LONG value1, LONG value2);
public
static implicit operator LONG(int value);
public
static implicit operator LONG(long value);
public
static implicit operator int(LONG value);
public static
implicit operator long(LONG value);
public int ToInt32();
public
long ToInt64();
public
override string ToString();
};
Thread safety
This type is safe for multithreaded operations.
Remarks
The long type used in Tuxedo ATMI APIs is used to represent the primitive C language long data type. Its size depends on the underlying operating system and the C compiler used when building Tuxedo software, hence it may be 32-bit or 64-bit. In order to pass the parameters of long type correctly to ATMI C and FML functions when they are called from the wrapper methods via Pinvoke, an equivalent type with the same size must be defined in the wrapper package and used in the parameters where a long type is required. That is the value measured by Marshal.SizeOf(new LONG(0)) in the .NET environment should always be the same as the value measured by sizeof(long) in the Tuxedo libraries such as libwsc.dll
Requirements
Namespace: Bea.Tuxedo.ATMI
Assembly: libwscdnet (in libwscdnet.dll)
See also
System.IntPtr
Represents the handle returned by tpsubscribe.
System.Object
Bea.Tuxedo.ATMI.SubscriptionHandle
public
sealed class SubscriptionHandle : ICloneable
{
public SubscriptionHandle(long handle);
public
static implicit operator long(SubscriptionHandle
handle);
public
Object Clone();
}
Thread safety
This type is safe for multithreaded operations.
Remarks
Requirements
Namespace: Bea.Tuxedo.ATMI
Assembly: libwscdnet (in libwscdnet.dll)
This .NET wrapper is equivalent to the ATMI C structure TPEVCTL.
System.Object
Bea.Tuxedo.ATMI.TPEVCTL
[StructLayout(LayoutKind.Sequential,
Pack=4)]
public
sealed class TPEVCTL {
public int flags;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=ATMIC.XATMI_SERVICE_NAME_LENGTH)]
public
string name1;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=ATMIC.XATMI_SERVICE_NAME_LENGTH)]
public
string name2;
public readonly TPQCTL qctl;
public
TPEVCTL() {
qctl = new TPQCTL();
}
};
Thread safety
This type is not safe for multithreaded operations.
Remarks
The instance of this class can be operated in a very similar style to the operations on ATMI C structure TPEVCTL.
See the following example:
TPEVCTL evclt = new TPEVCTL ();
Evclt.flags = ..
Evclt.name1 = “xxx”;
evclt.name2 = “yyy”;
evclt.qctl.flags = ..
evclt.qctl.urcode = ..
Requirements
Namespace: Bea.Tuxedo.ATMI
Assembly: libwscdnet (in libwscdnet.dll)
The type is used to represent a key handle for digital signature generation, message encryption, or message decryption.
System.Object
Bea.Tuxedo.ATMI.TPKEY
public
sealed class TPKEY : ICloneable {
public
static readonly IntPtr
TPKEY_BADKEY = ATMIC.TPKEY_BADKEY;
public
const int TPKEY_SIGNATURE = ATMIC.TPKEY_SIGNATURE;
public
const int TPKEY_DECRYPT =
ATMIC.TPKEY_DECRYPT;
public
const int TPKEY_ENCRYPT =
ATMIC.TPKEY_ENCRYPT;
public
const int TPKEY_VERIFICATION = ATMIC.TPKEY_VERIFICATION;
public
const int TPKEY_AUTOSIGN = ATMIC.TPKEY_AUTOSIGN;
public
const int TPKEY_AUTOENCRYPT = ATMIC.TPKEY_AUTOENCRYPT;
public
const int TPKEY_REMOVE =
ATMIC.TPKEY_REMOVE;
public
const int TPKEY_REMOVEALL = ATMIC.TPKEY_REMOVEALL;
public
const int TPKEY_VERIFY =
ATMIC.TPKEY_VERIFY;
public
TPKEY(IntPtr tpkey);
public
Object Clone();
internal
IntPtr GetIntPtr();
}
Thread safety
This type is safe for multithreaded operations.
Remarks
Requirements
Namespace: Bea.Tuxedo.ATMI
Assembly: libwscdnet (in libwscdnet.dll)
This .NET wrapper is equivalent to the ATMI C structure TPQCTL.
System.Object
Bea.Tuxedo.ATMI.TPQCTL
[StructLayout(LayoutKind.Sequential,
Pack=4)]
public
sealed class TPQCTL {
public
const int TMQNAMELEN =
ATMIC.TMQNAMELEN;
public
const int TMMSGIDLEN =
ATMIC.TMMSGIDLEN;
public
const int TMCORRIDLEN= ATMIC.TMCORRIDLEN;
public int flags; /*
control parameters to queue primitives */
public int deq_time; /*
absolute/relative time for dequeuing */
public int priority; /*
enqueue priority */
public int diagnostic; /*
indicates reason for failure */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=TMMSGIDLEN)]
public
string msgid; /*
id of message before which to queue */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=TMCORRIDLEN)]
public
string corrid; /*
correlation id used to identify message */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=TMQNAMELEN+1)]
public
string replyqueue; /*
queue name for reply message */
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=TMQNAMELEN+1)]
public
string failurequeue; /*
queue name for failure message */
public readonly CLIENTID cltid; /*
client identifier for originating client */
public int urcode; /*
application user-return code */
public int appkey; /*
application authentication client key */
public int delivery_qos; /* delivery
quality of service */
public int reply_qos; /* reply message quality of
service */
public int exp_time; /* expiration time */
public
TPQCTL() {
cltid = new CLIENTID();
}
};
Thread safety
This type is not safe for multithreaded operations.
Remarks
The instance of this class can be operated in a very similar style to the operations on ATMI C structure TPQCTL. For example,
TPQCTL qctl = new TPQCTL();
qctl.cltid.clientdata[0] = ..
qctl.cltid.clientdata[3] = ..
qctl.urcode = ..
…
qctl.replyqueue = “Reply_Q”;
Requirements
Namespace: Bea.Tuxedo.ATMI
Assembly: libwscdnet (in libwscdnet.dll)
This .NET wrapper is equivalent to the ATMI C structure TPTRANID.
System.Object
Bea.Tuxedo.ATMI.TPTRANID
[StructLayout(LayoutKind.Sequential,
Pack=4)]
public
sealed class TPTRANID {
public
const int SIZE = 6;
[MarshalAs(UnmanagedType.ByValArray, SizeConst=SIZE)]
public readonly int[] info;
public
TPTRANID() {
info = new int[SIZE];
}
}
Thread safety
This type is not safe for multithreaded operations.
Remarks
The instance of this class can be operated in a very similar style to the operations on ATMI C structure TPTRANID.
See the following example,
TPTRANID tranid = new TPTRANID();
tranid.info[0] = ..
tranid.info[3] = ..
Requirements
Namespace: Bea.Tuxedo.ATMI
Assembly: libwscdnet (in libwscdnet.dll)
Defines the prototype of the unsolicited message handler.
System.Object
Bea.Tuxedo.ATMI.UnsolicitedMessageHandler
public
delegate void UnsolicitedMessageHandler(
AppContext appctxt,
TypedBuffer tb,
long flags
);
Thread safety
This type is safe for multithreaded operations.
Remarks
Requirements
Namespace: Bea.Tuxedo.ATMI
Assembly: libwscdnet (in libwscdnet.dll)
This .NET wrapper is equivalent to the ATMI C structure XID.
System.Object
Bea.Tuxedo.ATMI.XID
[StructLayout(LayoutKind.Sequential,
Pack=4)]
public
sealed class XID {
public
const int XIDDATASIZE = 128; /* XID data size in bytes */
public
LONG formatID; /*
format code: 0 -- ISO,
positive -- private, -1 -- NULLXID */
public
LONG gtrid_length; /*
length of global tran. ID */
public
LONG bqual_length; /*
length of branch qualifier */
[MarshalAs(UnmanagedType.ByValArray, SizeConst=XIDDATASIZE)]
public readonly byte[] data; /*
gtrid and bqual */
public
XID() {
formatID = new LONG(0);
gtrid_length = new LONG(0);
bqual_length = new LONG(0);
data = new byte[XIDDATASIZE];
}
}
Thread safety
This type is not safe for multithreaded operations.
Remarks
The instance of this class can be operated in a very similar style to the operations on ATMI C structure XID. For example,
XID xid = new XID();
for (int i=0; i < XID.XIDDATASIZE; i++)
xid.data[i] = ..
xid.formatID = ..
Requirements
Namespace: Bea.Tuxedo.ATMI
Assembly: libwscdnet (in libwscdnet.dll)
The wrapper class for decimal support.
System.Object
Bea.Tuxedo.FML.dec_t
public
sealed class dec_t : ICloneable
{
public enum Sign {
PLUS,
MINUS,
NULL
};
public
static readonly dec_t Null;
public
static readonly dec_t MaxValue;
public
static readonly dec_t MinValue;
public
static readonly dec_t Zero;
public
static readonly dec_t One;
public
static readonly dec_t MinusOne;
public
override string ToString();
public
Object Clone();
public dec_t(string
strval);
public dec_t(double dblval);
public dec_t(int intval);
public
static explicit operator int(dec_t
value);
public static
explicit operator double(dec_t value);
public
static explicit operator string(dec_t value);
public
static implicit operator dec_t(int
value);
public
static implicit operator dec_t(double value);
public
static explicit operator dec_t(string value);
public
override bool Equals(object value);
public
override int GetHashCode();
public
void Round(int decimals);
public
void Truncate(int decimals);
public
static dec_t Abs(dec_t dec);
public
static dec_t Negate(dec_t dec);
public
static int Compare(dec_t a,
dec_t b);
public
static dec_t Add(dec_t a, dec_t b);
public
static dec_t Subtract(dec_t
a, dec_t b);
public
static dec_t Multiply(dec_t
a, dec_t b);
public
static dec_t Divide(dec_t
a, dec_t b);
public
static bool Equals(dec_t a,
dec_t b);
public
static dec_t operator +(dec_t
a, dec_t b);
public
static dec_t operator -(dec_t
a, dec_t b);
public
static dec_t operator *(dec_t
a, dec_t b);
public
static dec_t operator /(dec_t
a, dec_t b);
public
static bool operator ==(dec_t
a, dec_t b);
public
static bool operator !=(dec_t
a, dec_t b);
public
static bool operator >(dec_t
a, dec_t b);
public
static bool operator >=(dec_t
a, dec_t b);
public
static bool operator <(dec_t
a, dec_t b);
public
static bool operator <=(dec_t
a, dec_t b);
public
static dec_t operator ++(dec_t
a);
public
static dec_t operator --(dec_t
a);
public
static dec_t operator +(dec_t
a);
public
static dec_t operator -(dec_t
a);
};
Thread safety
This type is not safe for multithreaded operations.
Remarks
Example:
dec_t a = new dec_t("100.1234567890123456789");
dec_t b = new dec_t(2000);
dec_t c = a / b;
Console.WriteLine("c = {0} a = {1}", (string)c, (string)a);
Console.WriteLine("min = {0} max = {1}", (string)dec_t.MinValue, (string)dec_t.MaxValue);
Console.WriteLine("null = {0}", (string)dec_t.Null );
Console.WriteLine("Zero = {0}\nOne = {1}\nMinusOne = {2}\n",
(string)dec_t.Zero, (string)dec_t.One, (string)dec_t.MinusOne );.
Requirements
Namespace: Bea.Tuxedo.FML
Assembly: libwscdnet (in libwscdnet.dll)