AsyncCallDescriptor Class

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)

 

BufferType Class

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)

 

carray Class

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)

 

CLIENTID Class

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)

 

ConversationDescriptor Class

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)

 

FILE Class

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)

 

FieldType Enum

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)

 

FLDID Struct

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)

 

FLDLEN Struct

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)

 

FLDOCC Struct

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)

 

LONG Struct

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

 

SubscriptionHandle Class

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)

 

 

TPEVCTL Class

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)

 

TPKEY Class

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)

 

TPQCTL Class

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)

 

TPTRANID Class

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)

 

UnsolicitedMessageHandler Delegate

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)

 

XID Class

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)

 

dec_t Class

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)