The following is a C language example of an API that transfers the file named /usr/include/xcom/xcomapi.h to the file /home/user/newfile.name on the remote system.
/* apitest.c - This is a sample program for calling the XCOM API.*/
/* Modify this according to your needs and make it */
/* with the sample 'makefile' in this directory. */
#include <stdio.h>
/* ALL UNIX flavors except HP-UX */
#include <xcom/xcomapi.h>
/* HP-UX */
/* #include "/opt/xcom/include/xcomapi.h" */
main(int argc,char **argv)
{
int rc;
XCOM_PARM xcomparm;
int starting_state;
xcomparm.file_type = SEND_FILE; /* "1" */
/* remember to link with the appropriate xcom libraries for
each protocol */
xcomparm.protocol = "TCPIP"; /* "SNA" or "TCPIP" */
xcomparm.remote_system = "remote_host";
xcomparm.port = "8044";
xcomparm.xluname = "LOCUNIX";
xcomparm.xnodespec = NULL;
xcomparm.xmode = "XCOMMODE";
xcomparm.xidest = NULL;
xcomparm.local_file = "/usr/include/xcom/xcomapi.h";
xcomparm.remote_file = "/home/user/newfile.name";
xcomparm.local_file_rf = "/tmp/receive.filename";
xcomparm.remote_file_rf = "/home/user/file.there";
xcomparm.file_option = "REPLACE";
xcomparm.remove_trail_blanks = NULL;
xcomparm.volume = NULL;
xcomparm.unit = NULL;
xcomparm.record_format = NULL;
xcomparm.lrecl = NULL;
xcomparm.blksize = NULL;
xcomparm.local_file_sr = NULL;
xcomparm.class = NULL;
xcomparm.destination = NULL;
xcomparm.form = NULL;
xcomparm.fcb = NULL;
xcomparm.copies = NULL;
xcomparm.report_title = NULL;
xcomparm.hold = NULL;
xcomparm.spool_flag = NULL;
xcomparm.disposition = NULL;
xcomparm.carriage_control_characters = NULL;
xcomparm.local_file_sj = NULL;
xcomparm.userid = "uuuuuuuu";
xcomparm.password = "xxxxxxxx";
/* if queue = NO, must link with right xcom lib */
xcomparm.queue = "NO";
xcomparm.start_time = NULL;
xcomparm.start_date = NULL;
xcomparm.notifyr = NULL;
xcomparm.notify_name = NULL;
xcomparm.local_notify = NULL;
xcomparm.notifyl = NULL;
xcomparm.notify_term = NULL;
xcomparm.maxreclen = NULL;
xcomparm.code_flag = "ASCII";
xcomparm.carriage_flag = NULL;
xcomparm.truncation = NULL;
xcomparm.compress = NULL;
xcomparm.xtrace = "10";
xcomparm.stat_frequency = NULL;
xcomparm.debug_flag = NULL;
xcomparm.xlogfile = NULL;
xcomparm.tempdir = NULL;
xcomparm.xlpcmd = NULL;
xcomparm.xnotifycmd = NULL;
xcomparm.eol_classes = NULL;
xcomparm.convert_classes = NULL;
xcomparm.metacode_classes = NULL;
/* These are version two parms */
xcomparm.version = NULL;
xcomparm.number_of_retries = NULL;
xcomparm.allocation_type = NULL;
xcomparm.checkpoint_count = NULL;
xcomparm.num_of_dir_blocks = NULL;
xcomparm.primary_alloc = NULL;
xcomparm.secondary_alloc = NULL;
xcomparm.restart_supported = NULL;
/* These parms are new for V3 XCOM */
xcomparm.xppcmd = NULL;
xcomparm.xprecmd = NULL;
xcomparm.xendcmd = NULL;
xcomparm.shell_cmd = NULL;
/* These parms are new for V3.1 XCOM */
xcomparm.trusted = NULL;
xcomparm.domain = NULL;
xcomparm.den = NULL;
xcomparm.expdt = NULL;
xcomparm.retpd = NULL;
xcomparm.label = NULL;
xcomparm.tape = NULL;
xcomparm.unitct = NULL;
xcomparm.volct = NULL;
xcomparm.volsq = NULL;
xcomparm.labelnum = NULL;
xcomparm.tapedisp = NULL;
/* These parms are new for r11 XCOM */
xcomparm.xcomsslfull = NULL;
xcomparm.configssl = NULL;
xcomparm.codetabl = NULL;
xcomparm.rmtntfyl = NULL;
xcomparm.lclntfyl = NULL;
xcomparm.storcls = NULL;
xcomparm.datacls = NULL;
xcomparm.mgtclas = NULL;
xcomparm.dsntype = NULL;
/* Reserved for future use */
xcomparm.seclabel =NULL;
xcomparm.hfs_flag =NULL;
xcomparm.seclabel = NULL;
xcomparm.hold_transfer = NULL;
xcomparm.xtchold_count = NULL;
xcomparm.xtcerrdecr = NULL;
xcomparm.xtcerrincr = NULL;
xcomparm.xtcerrpurge = NULL;
xcomparm.xtcerrrel = NULL;
xcomparm.xtcgooddecr = NULL;
xcomparm.xtcgoodincr = NULL;
xcomparm.xtcgoodpurge = NULL;
xcomparm.xtcgoodrel = NULL;
xcomparm.xtcnet = NULL;
xcomparm.xtcjob = NULL;
xcomparm.trust_odbc = NULL;
xcomparm.trust_pass = NULL;
xcomparm.trust_user = NULL;
xcomparm.trust_table_pfx = NULL;
xcomparm.cache_read_sz = NULL;
xcomparm.cache_write_sz = NULL;
xcomparm.mail_type = NULL;
xcomparm.smtp_server = NULL;
xcomparm.fips_mode = NULL;
xcomparm.lear_cipher = NULL;
xcomparm.ear_cipher = NULL;
xcomparm.lear_hash = NULL;
xcomparm.ear_hash = NULL;
xcomparm.lear_digest = NULL;
xcomparm.ear_digest = NULL;
xcomparm.lear_key = NULL;
xcomparm.ear_key = NULL;
xcomparm.trnencrl_cipher = NULL;
xcomparm.createdelete=NULL;
xcomparm.compress_pds=NULL;
xcomparm.local_charset=NULL;
xcomparm.remote_charset=NULL;
xcomparm.mbcs_inputerror=NULL;
xcomparm.mbcs_converror=NULL;
xcomparm.local_delim=NULL;
xcomparm.remote_delim=NULL;
xcomparm.eattr=NULL;
xcomparm.avgrec=NULL;
starting_state=LOCAL_SEND;
printf("==== API started ===\n");
rc=XcomAPI(starting_state, xcomparm);
printf("==== API ended ===\n");
if (!rc)
printf("==== Transfer successful\n");
else
printf("==== %s\n", msgstring(rc,0));
/* Reset System Privileges for second transfer */
if (XsetSystemPriv(2) !=0)
{
printf("====XsetSystemPriv() faild\n");
}
}
The following XcomAPI variables are reserved for future use:
xcomparm.seclabel xcomparm.hfs_flag
| Copyright © [set copyright date variable] CA. All rights reserved. |
|