#include #include #include #include /* triml */ #include #include #include #include #include #include #include #include #include #include #define TRUE 0 #define FALSE -1 typedef struct { int BYTESPRO; int BYTESAVL; char MSGID[7]; char RESRVD; char EXCPDATA[100]; } ERRSTRUCTURE; /* Define the error return structure */ ERRSTRUCTURE errcode;/* Error Code Structure for RCVMSG */ typedef struct { char OBJ[10]; char OBJLIB[10]; char OBJTYPE[10]; } OBJECT; OBJECT m_object; char m_OBJTYP[2]; void main(void){ char OBJ[11], OBJLIB[11]; _SYSPTR ptr_object; _SPCPTR objptr; _MPTR_Template_T opt; unsigned char* buff; int i; _SPC_Template_T spc_template; printf("*** TESTMIOBJ: OBJ 検索 MI テスト ***\n"); getchar(); errcode.BYTESPRO = 160; errcode.BYTESAVL = 0; memcpy(m_object.OBJ, "QGSPDSPQ ", 10); memcpy(m_object.OBJLIB, "QSYS ", 10); memcpy(m_object.OBJTYPE, "*PNLGRP " , 10); printf("[%d] OBJ=[%s]\n", __LINE__, m_object.OBJ); getchar(); QLICVTTP("*SYMTOHEX ", "*PNLGRP ", m_OBJTYP, &errcode); if(errcode.BYTESAVL != 0){/*APIERR*/ printf("[%d] APIERR MSGID=[%s]\n", __LINE__, errcode.MSGID); getchar(); exit(-1); }/*APIERR*/ printf("[%d] m_OBJTYP = 0x%02x%02x\n", __LINE__, m_OBJTYP[0], m_OBJTYP[1]); getchar(); memcpy(OBJ, m_object.OBJ, 10); OBJ[10] = 0x00; memcpy(OBJLIB, m_object.OBJLIB, 10); OBJLIB[10] = 0x00; ptr_object = rslvsp(WLI_PNLGRP, OBJ, OBJLIB, _AUTH_RETRIEVE); /* 」オ」J」F」ェ」ク」 if(ptr_object == NULL){/* 失敗 */ printf("[%d] failed in RSLVSP.\n", __LINE__); getchar(); exit(-1); }/* 失敗 */ printf("[%d] 名前解決が成功した。 \n", __LINE__); getchar(); spc_template.TmpSize = sizeof(spc_template); mats(&spc_template, ptr_object); /* スペース属性 */ objptr = setsppfp(ptr_object); /* スペース */ if(objptr == NULL){/* 失敗 */ printf("[%d] setsppfp オブジェクト・ポインタ取得に失敗 \n", __LINE__); getchar(); exit(-1); }/* 失敗 */ printf("[%d] objptr オブジェクト・ポインタの取得に成功しました。 \n",__LINE__ getchar(); printf("[%d] object size = %d\n", __LINE__, spc_template.Size); getchar(); for(i = 0; i 0 && i % 16 == 15) printf("\n"); }/*for-loop*/ printf("\n"); getchar(); }