home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
sockpli.zip
/
ACSSVCP.COP
< prev
next >
Wrap
Text File
|
1995-06-27
|
34KB
|
703 lines
dcl ACSSVC entry
options(linkage(pascal16) asm) external;
dcl ACSSVC_C entry
options(linkage(pascal16) asm) external;
/************************************************************/
/* Verb Parameter Values */
/************************************************************/
%dcl (SV_ADD,
SV_CHANGE,
SV_IGNORE,
SV_NO_ADD,
SV_NO_SEND,
SV_SEND) char;
%SV_ADD = '0';
%SV_CHANGE = '1';
%SV_IGNORE = '0';
%SV_NO_ADD = '1';
%SV_NO_SEND = '1';
%SV_SEND = '0';
%dcl (SV_NO,
SV_YES,
SV_A,
SV_AE,
SV_ALERT_SUBVECTORS,
SV_ASCII_TO_EBCDIC,
SV_INTRV,
SV_NO_INTRV,
SV_EBCDIC_TO_ASCII,
SV_G,
SV_NMVT,
SV_OFF,
SV_ON,
SV_AUTO_OFF,
SV_AUTO_ON,
SV_PDSTATS_SUBVECTORS,
SV_SUBSTITUTE,
SV_ROUND_TRIP,
SV_USER_DEFINED,
SV_LOGS,
SV_SYSTEM_MESSAGES,
SV_USER_MESSAGES,
SV_NONE,
SV_ALL,
SV_FORWARD,
SV_SOME,
SV_LOG,
SV_NO_LOG,
SV_NEW,
SV_OVERWRITE,
SV_APPEND,
SV_ACTIVATE,
SV_FORMATTED,
SV_UNFORMATTED) char;
%SV_NO = '''00''x';
%SV_YES = '''01''x';
%SV_A = '''01''x';
%SV_AE = '''00''x';
%SV_ALERT_SUBVECTORS = '''02''x';
%SV_ASCII_TO_EBCDIC = '''00''x';
%SV_INTRV = '''00''x';
%SV_NO_INTRV = '''01''x';
%SV_EBCDIC_TO_ASCII = '''01''x';
%SV_G = '''02''x';
%SV_NMVT = '''01''x';
%SV_OFF = '''00''x';
%SV_ON = '''01''x';
%SV_AUTO_OFF = '''02''x';
%SV_AUTO_ON = '''03''x';
%SV_PDSTATS_SUBVECTORS = '''03''x';
%SV_SUBSTITUTE = '''00''x';
%SV_ROUND_TRIP = '''01''x';
%SV_USER_DEFINED = '''00''x';
%SV_LOGS = '''00''x';
%SV_SYSTEM_MESSAGES = '''01''x';
%SV_USER_MESSAGES = '''02''x';
%SV_NONE = '''00''x';
%SV_ALL = '''01''x';
%SV_FORWARD = '''02''x';
%SV_SOME = '''00''x';
%SV_LOG = '''00''x';
%SV_NO_LOG = '''01''x';
%SV_NEW = '''00''x';
%SV_OVERWRITE = '''01''x';
%SV_APPEND = '''02''x';
%SV_ACTIVATE = '''01''x';
%SV_FORMATTED = '''00''x';
%SV_UNFORMATTED = '''01''x';
/*************************************************************/
/* Byte Masks for turning bits on/off */
/*************************************************************/
%dcl (SV_BIT0,
SV_BIT1,
SV_BIT2,
SV_BIT3,
SV_BIT4,
SV_BIT5,
SV_BIT6,
SV_BIT7) char;
%SV_BIT0 = '''80''x';
%SV_BIT1 = '''40''x';
%SV_BIT2 = '''20''x';
%SV_BIT3 = '''10''x';
%SV_BIT4 = '''08''x';
%SV_BIT5 = '''04''x';
%SV_BIT6 = '''02''x';
%SV_BIT7 = '''01''x';
/************************************************************/
/* Verb Parameter Boundary Values */
/************************************************************/
%dcl (SV_TRACE_TRUNC_MAX,
SV_TRACE_STORAGE_MAX) char;
%SV_TRACE_TRUNC_MAX = '12000';
%SV_TRACE_STORAGE_MAX = '16';
/************************************************************/
/* Return Codes */
/************************************************************/
%dcl (SV_INVALID_VERB_SEGMENT,
SV_INVALID_VERB,
SV_KEYLOCK_SECURED,
SV_INVALID_KEY,
SV_OK,
SV_PARAMETER_CHECK,
SV_COMM_SUBSYSTEM_NOT_LOADED,
SV_STATE_CHECK,
SV_UNEXPECTED_DOS_ERROR,
SV_CONFIG_FILE_ERROR,
SV_FILE_ALREADY_EXISTS,
SV_OUTPUT_DEVICE_FULL) char;
%SV_INVALID_VERB_SEGMENT = '''08F0''xn';
%SV_INVALID_VERB = '''FFFF''xn';
%SV_KEYLOCK_SECURED = '''13F0''xn';
%SV_INVALID_KEY = '''20F0''xn';
%SV_OK = '''0000''xn';
%SV_PARAMETER_CHECK = '''0100''xn';
%SV_COMM_SUBSYSTEM_NOT_LOADED = '''12F0''xn';
%SV_STATE_CHECK = '''0200''xn';
%SV_UNEXPECTED_DOS_ERROR = '''11F0''xn';
%SV_CONFIG_FILE_ERROR = '''3200''xn';
%SV_FILE_ALREADY_EXISTS = '''3000''xn';
%SV_OUTPUT_DEVICE_FULL = '''3100''xn';
%dcl (SV_CONVERSION_ERROR,
SV_DATA_EXCEEDS_RU_SIZE,
SV_INVALID_CHARACTER_SET,
SV_INVALID_DATA_SEGMENT,
SV_INVALID_DATA_TYPE,
SV_INVALID_DIRECTION,
SV_INVALID_FIRST_CHARACTER,
SV_INVALID_MESSAGE_ACTION,
SV_INVALID_SET,
SV_INVALID_STORAGE_SIZE,
SV_SSCP_PU_SESSION_NOT_ACTIVE,
SV_INVALID_NMVT_ERROR,
SV_TABLE_ERROR,
SV_INVALID_CHAR_NOT_FOUND,
SV_INVALID_SOURCE_CODE_PAGE,
SV_INVALID_TARGET_CODE_PAGE,
SV_INVALID_FORWARD,
SV_INVALID_SUPPRESS,
SV_INVALID_SELECTION,
SV_TOO_HIGH_A_NUMBER,
SV_INVALID_QUEUE,
SV_QUEUE_ALREADY_IN_EFFECT,
SV_PD_MENUS_IN_PROGRESS,
SV_INVALID_RESET_TRACE,
SV_COPY_TRACE_IN_PROGRESS,
SV_TRACE_NOT_STOPPED,
SV_INVALID_FILE_OPTION,
SV_TRACE_BUFFER_EMPTY,
SV_DUMP_IN_PROGRESS,
SV_INVALID_OUTPUT_FORMAT) char;
%SV_CONVERSION_ERROR = '''06040000''xn';
%SV_DATA_EXCEEDS_RU_SIZE = '''02030000''xn';
%SV_INVALID_CHARACTER_SET = '''02040000''xn';
%SV_INVALID_DATA_SEGMENT = '''06000000''xn';
%SV_INVALID_DATA_TYPE = '''03030000''xn';
%SV_INVALID_DIRECTION = '''01040000''xn';
%SV_INVALID_FIRST_CHARACTER = '''04040000''xn';
%SV_INVALID_MESSAGE_ACTION = '''21060000''xn';
%SV_INVALID_SET = '''24060000''xn';
%SV_INVALID_STORAGE_SIZE = '''27060000''xn';
%SV_SSCP_PU_SESSION_NOT_ACTIVE = '''01030000''xn';
%SV_INVALID_NMVT_ERROR = '''04030000''xn';
%SV_TABLE_ERROR = '''05040000''xn';
%SV_INVALID_CHAR_NOT_FOUND = '''30060000''xn';
%SV_INVALID_SOURCE_CODE_PAGE = '''31060000''xn';
%SV_INVALID_TARGET_CODE_PAGE = '''32060000''xn';
%SV_INVALID_FORWARD = '''00070000''xn';
%SV_INVALID_SUPPRESS = '''01070000''xn';
%SV_INVALID_SELECTION = '''02070000''xn';
%SV_TOO_HIGH_A_NUMBER = '''03070000''xn';
%SV_INVALID_QUEUE = '''04070000''xn';
%SV_QUEUE_ALREADY_IN_EFFECT = '''05070000''xn';
%SV_PD_MENUS_IN_PROGRESS = '''2E060000''xn';
%SV_INVALID_RESET_TRACE = '''2F060000''xn';
%SV_COPY_TRACE_IN_PROGRESS = '''29060000''xn';
%SV_TRACE_NOT_STOPPED = '''2A060000''xn';
%SV_INVALID_FILE_OPTION = '''2B060000''xn';
%SV_TRACE_BUFFER_EMPTY = '''2C060000''xn';
%SV_DUMP_IN_PROGRESS = '''2D060000''xn';
%SV_INVALID_OUTPUT_FORMAT = '''33060000''xn';
/************************************************************/
/* Operation Codes */
/************************************************************/
%dcl (SV_CONVERT,
SV_DEFINE_TRACE,
SV_GET_CP_CONVERT_TABLE,
SV_LOG_MESSAGE,
SV_TRANSFER_MS_DATA,
SV_SET_USER_LOG_QUEUE,
SV_COPY_TRACE_TO_FILE,
SV_DEFINE_DUMP) char;
%SV_CONVERT = '''001A''xn';
%SV_DEFINE_TRACE = '''001D''xn';
%SV_GET_CP_CONVERT_TABLE = '''0019''xn';
%SV_LOG_MESSAGE = '''001F''xn';
%SV_TRANSFER_MS_DATA = '''001C''xn';
%SV_SET_USER_LOG_QUEUE = '''004B''xn';
%SV_COPY_TRACE_TO_FILE = '''004C''xn';
%SV_DEFINE_DUMP = '''004D''xn';
/************************************************************/
/* Client Server specific RCs */
/************************************************************/
%dcl (SV_SERVER_RESOURCE_NOT_FOUND,
SV_SERVER_RESOURCES_LOST) char;
%SV_SERVER_RESOURCE_NOT_FOUND = '''24F0''xn';
%SV_SERVER_RESOURCES_LOST = '''26F0''xn';
%dcl (SV_SERVER_CONN_FAILURE,
SV_UNAUTHORIZED_ACCESS) char;
%SV_SERVER_CONN_FAILURE = '''AB000003''xn';
%SV_UNAUTHORIZED_ACCESS = '''AA000003''xn';
/************************************************************/
/* Service Structures */
/************************************************************/
define structure
1 svc_hdr,
2 opcode /* Verb operation code */
unsigned fixed bin(16),
/* ----------------------- */
2 opext /* Verb extension code */
char,
/* ----- */
2 reserv2 /* Reserved */
char,
/* ----- */
2 primary_rc /* Primary RETURN_CODE */
unsigned fixed bin(16),
/* ----------------------- */
2 secondary_rc /* Secondary RETURN_CODE */
unsigned fixed bin(31);
/* ----------------------- */
define alias @svc_hdr handle svc_hdr;
define structure
1 convert,
2 opcode /* Verb operation code */
unsigned fixed bin(16),
/* ----------------------- */
2 opext /* Verb extension code */
char,
/* ----- */
2 reserv2 /* Reserved */
char,
/* ----- */
2 primary_rc /* Primary RETURN_CODE */
unsigned fixed bin(16),
/* ----------------------- */
2 secondary_rc /* Secondary RETURN_CODE */
unsigned fixed bin(31) unal,
/* ---------------------------*/
2 direction /* DIRECTION */
char,
/* ----- */
2 char_set /* CHARACTER_SET */
char,
/* ----- */
2 len /* LENGTH */
unsigned fixed bin(16),
/* ----------------------- */
2 Source /* SOURCE_ADDR */
pointer segmented unal,
/* ----------------------- */
2 Target /* TARGET_ADDR */
pointer segmented unal;
/* ----------------------- */
define alias @convert handle convert;
define structure
1 get_cp_convert_table,
2 opcode /* Verb operation code */
unsigned fixed bin(16),
/* ----------------------- */
2 opext /* Verb extension code */
char,
/* ----- */
2 reserv2 /* Reserved */
char,
/* ----- */
2 primary_rc /* Primary RETURN_CODE */
unsigned fixed bin(16),
/* ----------------------- */
2 secondary_rc /* Secondary RETURN_CODE */
unsigned fixed bin(31),
/* ----------------------- */
2 source_cp /* SOURCE_CODE_PAGE */
unsigned fixed bin(16),
/* ----------------------- */
2 target_cp /* TARGET_CODE_PAGE */
unsigned fixed bin(16),
/* ----------------------- */
2 conv_tbl_addr /* CONVERT_TABLE_ADDR */
pointer segmented,
/* ------------------ */
2 char_not_fnd /* CHARACTER_NOT_FOUND */
char,
/* ----- */
2 substitute_char /* Substitute Character */
char;
/* ----- */
define alias @get_cp_convert_table handle get_cp_convert_table;
define structure
1 log_message,
2 opcode /* Verb operation code */
unsigned fixed bin(16),
/* ----------------------- */
2 opext /* Verb extension code */
char,
/* ----- */
2 reserv2 /* Reserved */
char,
/* ----- */
2 primary_rc /* Primary RETURN_CODE */
unsigned fixed bin(16),
/* ----------------------- */
2 secondary_rc /* Secondary RETURN_CODE */
unsigned fixed bin(31),
/* ----------------------- */
2 msg_num /* MESSAGE_NUMBER */
unsigned fixed bin(16),
/* ----------------------- */
2 origntr_id /* ORIGINATOR_ID */
char(8),
/* -------- */
2 msg_file_name /* MSG_FILE_NAME */
char(3),
/* -------- */
2 msg_act /* MESSAGE_ACTION */
char,
/* ----- */
2 msg_ins_len /* MESSAGE_INS_LENGTH */
unsigned fixed bin(16),
/* ----------------------- */
2 msg_ins_ptr /* MESSAGE_INS_ADDR */
pointer segmented;
/* ------------------ */
define alias @log_message handle log_message;
define structure
1 transfer_ms_data,
2 opcode /* Verb operation code */
unsigned fixed bin(16),
/* ----------------------- */
2 ms_data_type /* DATA_TYPE */
char,
/* ----- */
2 reserv2 /* Reserved */
char,
/* ----- */
2 primary_rc /* Primary RETURN_CODE */
unsigned fixed bin(16),
/* ----------------------- */
2 secondary_rc /* Secondary RETURN_CODE */
unsigned fixed bin(31),
/* ----------------------- */
2 options /* Verb options */
char,
/* ----- */
2 reserv3 /* RESERVED */
char,
/* ----- */
2 origntr_id /* ORIGINATOR_ID */
char(8),
/* -------- */
2 dlen /* DATA_LENGTH */
unsigned fixed bin(16),
/* ----------------------- */
2 dptr /* DATA_ADDR */
pointer segmented;
/* ------------------ */
define alias @transfer_ms_data handle transfer_ms_data;
define structure
1 set_user_log_queue,
2 opcode /* Verb operation code */
unsigned fixed bin(16),
/* ----------------------- */
2 opext /* Verb extension code */
char,
/* ----- */
2 reserv2 /* Reserved */
char,
/* ----- */
2 primary_rc /* Primary RETURN_CODE */
unsigned fixed bin(16),
/* ----------------------- */
2 secondary_rc /* Secondary RETURN_CODE */
unsigned fixed bin(31),
/* ----------------------- */
2 key /* KEY */
char(8),
/* -------- */
2 queue_name /* QUEUE_NAME */
char(64),
/* --------- */
2 forward /* FORWARD */
char,
/* ----- */
2 suppress /* SUPPRESS */
char,
/* ----- */
2 selection /* SELECTION */
char,
/* ----- */
2 padding /* to align boundaries */
char,
/* ----- */
2 numbers (10) /* NUMBERS */
unsigned fixed bin(31);
/* ----------------------- */
define alias @set_user_log_queue handle set_user_log_queue;
define structure
1 copy_trace_to_file,
2 opcode /* Verb operation code */
unsigned fixed bin(16),
/* ----------------------- */
2 opext /* Verb extension code */
char,
/* ----- */
2 reserv2 /* Reserved */
char,
/* ----- */
2 primary_rc /* Primary RETURN_CODE */
unsigned fixed bin(16),
/* ----------------------- */
2 secondary_rc /* Secondary RETURN_CODE */
unsigned fixed bin(31),
/* ----------------------- */
2 key /* KEY */
char(8),
/* -------- */
2 file_name /* FILE NAME */
char(64),
/* --------- */
2 file_option /* FILE OPTION */
char,
/* ----- */
2 output_format /* OUTPUT FORMAT */
char,
/* ----- */
2 reserv8 /* Reserved */
char(11);
/* --------- */
define alias @copy_trace_to_file handle copy_trace_to_file;
define structure
1 define_dump,
2 opcode /* Verb operation code */
unsigned fixed bin(16),
/* ----------------------- */
2 opext /* Verb extension code */
char,
/* ----- */
2 reserv2 /* Reserved */
char,
/* ----- */
2 primary_rc /* Primary RETURN_CODE */
unsigned fixed bin(16),
/* ----------------------- */
2 secondary_rc /* Secondary RETURN_CODE */
unsigned fixed bin(31),
/* ----------------------- */
2 key /* KEY */
char(8),
/* -------- */
2 component_01 /* COMPONENT_01 */
char,
/* ----- */
2 component_02 /* COMPONENT_02 */
char,
/* ----- */
2 component_03 /* COMPONENT_03 */
char,
/* ----- */
2 component_04 /* COMPONENT_04 */
char,
/* ----- */
2 component_05 /* COMPONENT_05 */
char,
/* ----- */
2 component_06 /* COMPONENT_06 */
char,
/* ----- */
2 component_07 /* COMPONENT_07 */
char,
/* ----- */
2 component_08 /* COMPONENT_08 */
char,
/* ----- */
2 component_09 /* COMPONENT_09 */
char,
/* ----- */
2 component_10 /* COMPONENT_10 */
char,
/* ----- */
2 component_11 /* COMPONENT_11 */
char,
/* ----- */
2 component_12 /* COMPONENT_12 */
char,
/* ----- */
2 component_13 /* COMPONENT_13 */
char,
/* ----- */
2 component_14 /* COMPONENT_14 */
char,
/* ----- */
2 component_15 /* COMPONENT_15 */
char,
/* ----- */
2 component_16 /* COMPONENT_16 */
char,
/* ----- */
2 component_17 /* COMPONENT_17 */
char,
/* ----- */
2 component_18 /* COMPONENT_18 */
char,
/* ----- */
2 component_19 /* COMPONENT_19 */
char,
/* ----- */
2 reserv9 /* Reserved */
char(12),
/* --------- */
2 x25_ctrl_blks /* X25_Control_Blocks */
char,
/* ----- */
2 x25_user_bufs /* X25_User_Buffers */
char,
/* ----- */
2 x25_adapter /* X25_Adapter_Name */
char(8),
/* -------- */
2 file_name /* FILE NAME */
char(64),
/* --------- */
2 file_option /* OPTION */
char;
/* ----- */
define alias @define_dump handle define_dump;
define structure
1 define_trace,
2 opcode /* Verb operation code */
unsigned fixed bin(16),
/* ----------------------- */
2 opext /* Verb extension code */
char,
/* ----- */
2 reserv2 /* Reserved */
char,
/* ----- */
2 primary_rc /* Primary RETURN_CODE */
unsigned fixed bin(16),
/* ----------------------- */
2 secondary_rc /* Secondary RETURN_CODE */
unsigned fixed bin(31),
/* ----------------------- */
2 key /* KEY */
char(8),
/* -------- */
2 dt_set /* SET */
char,
/* ----- */
2 appc /* APPC */
char,
/* ----- */
2 d3270 /* 3270 */
char,
/* ----- */
2 srpi /* SRPI */
char,
/* ----- */
2 sdlc /* SDLC */
char,
/* ----- */
2 tkn_rng_dlc /* TOKEN_RING_DLC */
char,
/* ----- */
2 pcnet_dlc /* PCNET_DLC */
char,
/* ----- */
2 dft /* DFT */
char,
/* ----- */
2 acdi /* ACDI */
char,
/* ----- */
2 comm_serv /* COMM_SERV */
char,
/* ----- */
2 ehllapi /* EHLLAPI */
char,
/* ----- */
2 x25_api /* X.25_API */
char,
/* ----- */
2 x25_dlc /* X.25_DLC */
char,
/* ----- */
2 twinax /* TWINAX */
char,
/* ----- */
2 d5250 /* 5250 */
char,
/* ----- */
2 lua_api /* LUA_API */
char,
/* ----- */
2 etherand /* ETHERAND */
char,
/* ----- */
2 subsysm /* SUBSYSM */
char,
/* ----- */
2 mptn /* MPTN Tracing */
char,
/* ----- */
2 remote_ops /* ROPS Tracing */
char,
/* ----- */
2 reserv7 /* Reserved */
char(6),
/* -------- */
2 reset_trc /* RESET_TRACE */
char,
/* ----- */
2 trunc /* TRUNCATION */
unsigned fixed bin(16) unal,
/* ---------------------------*/
2 strg_size /* STORAGE_SIZE */
unsigned fixed bin(16) unal,
/* ---------------------------*/
2 reserv6 /* Reserved */
char,
/* ----- */
2 phys_link /* X25_PHYSICAL_LINK_NAME */
char(7),
/* -------- */
2 reserv8 /* Reserved */
char(56);
/* --------- */
define alias @define_trace handle define_trace;