TUXEDO自學筆記(一)

2021-06-03 20:40:41 字數 2509 閱讀 1212

1. tpsvcinfo結構體

void tpservice(tpsvcinfo *svcinfo);

只有乙個引數,該引數是指向tpsvcinfo結構的指標(atmi.h)。該結構定義如下:

2.除錯和出錯處理

當呼叫atmi出錯時,返回值為-1,全程變數tperrno被設值,該變數提供系統定義的出錯原因。函式tpstrerror()以此變數為引數,返回錯誤的字元說明資訊。完整的錯誤號和文字錯誤資訊存在於檔案$tuxdir/include/atmi.h。函式userlog()重定向輸出檔案為ulog.mmddyy。使用方法同printf()。該函式每次輸出都寫硬碟,這樣在系統失敗時也能保留除錯資訊。

usrlog(「atmi error logged %d %s」,tperrno,tpstrerror(tperrno));

3.tuxedo基本的資料緩衝型別:

²  string 以空值結尾的單域字元資料。

²  carray 有長度定義的單域二進位制資料,不進行編、解碼。

²  view            類c結構或cobol記錄的多域組織。

²  fml              無固定結構的自定義緩衝。

4.資料緩衝管理

函式用法:

(char *)tpalloc((char *)type, (char *)subtype, long size)

(char *)tprealloc((char *)bufptr, long newsize)

voidtpfree((char *)bufptr)

5.同步通訊和非同步通訊

同步通訊   int tpcall((char *)servicename, (char *)bufptr, long length, (char **)bufptr, (long *)length, long flags)

函式tpcall()有6個引數。如下:

交易名²  請求資料緩衝

²  請求資料緩衝的長度(僅緩衝型別為carry時需要)

²  返回資料緩衝的位址。緩衝大小可以根據收到資料而改變。

²  返回資料緩衝大小的位址

²  標誌量

標誌量可以是以下值:

²  tpnotran   如有交易不呼叫

²  tpnoblock 如有阻塞不等待

²  tpnotime          願意等待直到超時

²  tpsigrstrt       系統中斷訊號在tuxedo完成後再發布

出錯返回-1,錯誤原因如下:

²  tpeinval     引數錯誤

²  tpetran      交易相關錯誤

²  tpetime      超時

ret = tpcall(「toupper」,bufptr,len,&bufptr,&len,flags);

atmi提供2個非同步通訊函式

tpacall()和tpgetrply()

int tpacall((char *)service, (char *)bufptr, long len, long flags);

flag:tpnoblock,tpsigrstrt,tpnotime,tpnotran,tpnochange,tpgetany

int tpgetrply((int *)handle, (char **)bufptr, (long *)len, long flags);

flag:tpnoblock,tpsigrstrt,tpnotime,tpnotran

tpacall()有4個引數

²  交易名

²  請求資料緩衝

²  請求資料緩衝的長度(僅緩衝型別為carry時需要)

²  標誌量(同tpcall())

返回值是乙個非負描述符(控制代碼),用於其後的tpgetrply()呼叫。如果tpacall()呼叫失敗,控制代碼是-1,錯誤原因設定在tperrno,可能是以下值:

tpelimit  過多未處理的tpacall()

tpetime   超時

tpacall()後總跟隨乙個tpgetrply(),有4個引數

²  變數位址,可以傳入tpcall()所得控制代碼,或另設乙個

²  返回資料緩衝的位址。緩衝大小可以根據收到資料而改變。

²  返回資料緩衝大小的位址

²  標誌量

標誌量的值可以是如下之一:

tpgetany                     取第乙個返回值,設控制代碼

tpnochange         取傳送請求的匹配的型別的資訊

參見tpcall()中的值

返回值0表示成功,-1表示失敗,錯誤原因可能如下:

²  tpeinval         引數錯誤

²  tpeotype              返回資料緩衝型別錯誤

²  tpetime   超時

C 自學筆記 一

1.類組合的建構函式 類名 類名 物件成員所需的形參,本類成員形參 物件1 引數 物件2 引數 2.int a 10 int b a 即b a 10 myclass circle 將呼叫建構函式初始化 myclass newcircle circle 將呼叫 拷貝建構函式,若沒得,則呼叫預設的拷貝建...

Oracle自學筆記(一)

1 建立使用者並指定表空間 create user gy 3004 identified by gy 3004 default tablespace gy 3004 data temporary tablespace gy 3004 temp 2 給使用者授予許可權 方式一 grant create...

JAVA自學筆記一

二 表示式 基本語句 1.算數運算子 加減乘除 取餘 運算子,均為二目運算子 結合方向自左向右 算術運算的精度由高到低排列 byte short char int long float double 當算術表示式運算過程中如果表示式中有不等的精度,結果均按照高精度排列 2.自增自減運算子 自增自減運...