version 1.2, 2000/10/12 15:30:32 |
version 1.6, 2003/09/15 09:31:42 |
|
|
/* -*- mode: C -*- */ |
/* -*- mode: C -*- */ |
/* $OpenXM: OpenXM/src/ox_toolkit/zclient.c,v 1.1 2000/10/10 06:51:41 ohara Exp $ */ |
/* $OpenXM: OpenXM/src/ox_toolkit/zclient.c,v 1.5 2003/02/04 20:43:55 ohara Exp $ */ |
|
|
/* A sample implementation of an OpenXM client with OpenXM C library */ |
/* A sample implementation of an OpenXM client with OpenXM C library */ |
|
|
|
|
#include <string.h> |
#include <string.h> |
#include "ox_toolkit.h" |
#include "ox_toolkit.h" |
|
|
|
int oxc_start(char *remote_host, int port, char *passwd); |
|
|
static OXFILE *connection(int listened, char *passwd) |
static OXFILE *connection(int listened, char *passwd) |
{ |
{ |
OXFILE *oxfp = oxf_connect_passive(listened); |
OXFILE *oxfp = oxf_connect_passive(listened); |
Line 22 static OXFILE *connection(int listened, char *passwd) |
|
Line 24 static OXFILE *connection(int listened, char *passwd) |
|
|
|
OXFILE *open_server(char *remote_host) |
OXFILE *open_server(char *remote_host) |
{ |
{ |
short port; |
int port; |
int listen; |
int listen; |
char *passwd = generate_otp(); |
char *passwd = generate_otp(); |
|
|
if ((listen = oxf_listen(&port)) != -1) { |
if ((listen = oxf_listen(&port)) != -1) { |
if (oxc_start(remote_host, port, passwd) != 0) { |
if (oxc_start(remote_host, port, passwd) != 0) { |
fprintf(stderr, "zclient:: remotehost = %s.\n", remote_host); |
ox_printf("zclient:: remotehost = %s.\n", remote_host); |
return connection(listen, passwd); |
return connection(listen, passwd); |
} |
} |
} |
} |
Line 40 int main(int argc, char* argv[]) |
|
Line 42 int main(int argc, char* argv[]) |
|
OXFILE *oxfp; |
OXFILE *oxfp; |
char *remote, *cmd; |
char *remote, *cmd; |
|
|
setbuf(stderr, NULL); |
ox_stderr_init(stderr); |
if (argc < 3) { |
if (argc < 3) { |
fprintf(stderr, "we have a few argument.\n"); |
ox_printf("we have a few argument.\n"); |
fprintf(stderr, "Usage:\n %s [remotehost] [command]\n", argv[0]); |
ox_printf("Usage:\n %s [remotehost] [command]\n", argv[0]); |
return 0; |
return 0; |
} |
} |
|
|
Line 51 int main(int argc, char* argv[]) |
|
Line 53 int main(int argc, char* argv[]) |
|
cmd = argv[2]; |
cmd = argv[2]; |
|
|
if ((oxfp = open_server(remote)) == NULL) { |
if ((oxfp = open_server(remote)) == NULL) { |
fprintf(stderr, "zclient:: I cannot open a server.\n"); |
ox_printf("zclient:: I cannot open a server.\n"); |
exit(1); |
exit(1); |
} |
} |
fprintf(stderr, "zclient:: I succeed to open an OX server.\n"); |
ox_printf("zclient:: I succeed to open an OX server.\n"); |
|
|
if(oxf_execute_cmd(oxfp, cmd) != NULL) { |
if(oxf_execute_cmd(oxfp, cmd) != NULL) { |
fprintf(stderr, "zclient:: I succeed to connect a calc server!!\n"); |
ox_printf("zclient:: I succeed to connect a calc server!!\n"); |
} |
} |
|
|
oxf_close(oxfp); |
oxf_close(oxfp); |
fprintf(stderr, "zclient:: closed.\n"); |
ox_printf("zclient:: closed.\n"); |
return 0; |
return 0; |
} |
} |