From ceb27b8fe56595ecf392e18da24a8d59c286f5bd Mon Sep 17 00:00:00 2001 From: cvs Date: Mon, 10 Apr 2000 15:36:56 +0000 Subject: [PATCH] *** empty log message *** --- tecs/Makefile | 5 ++-- tecs/err_handling.c | 9 ++++-- tecs/tecs_cli.c | 73 +++++++++++++++++++++++++++++++++++++-------- tecs/tecs_cli.h | 4 +-- 4 files changed, 72 insertions(+), 19 deletions(-) diff --git a/tecs/Makefile b/tecs/Makefile index bd7b5ebe..3f1d6f53 100644 --- a/tecs/Makefile +++ b/tecs/Makefile @@ -19,8 +19,9 @@ tecs: $(OBJ) ar cr libtecsl.a $(OBJ) ranlib libtecsl.a - rm TecsServer - cc -o TecsServer -g -I../ tecs.c -lm -L. -ltecsl -L../hardsup -lhlib - + $(CC) -o TecsServer -g -I../ tecs.c -lm -L. -ltecsl -L../hardsup -lhlib + - rm test + f77 -o test -g test.for tecs_tas.for get_lun.for -L. -ltecsl clean: rm *.o rm *.a diff --git a/tecs/err_handling.c b/tecs/err_handling.c index e15a3185..2f2c3884 100644 --- a/tecs/err_handling.c +++ b/tecs/err_handling.c @@ -93,7 +93,7 @@ void ERR_EXIT(char *text) { ErrWrite(text); exit(1); } -void ErrShowFtn_(char *text, int length) { +void err_show_(char *text, int length) { char buf[256]; if (length>=256) length=255; @@ -106,9 +106,12 @@ void ErrShowFtn_(char *text, int length) { typedef struct { short size, dummy; char *text; } Desc; -void ErrShowFtn(Desc *desc) { - ErrShowFtn_(desc->text, desc->size); +void err_show(Desc *desc) { + err_show_(desc->text, desc->size); } #endif +void errsetoutrtn_(void (*rtn)(), void *arg) { + ErrSetOutRtn(rtn, arg); +} diff --git a/tecs/tecs_cli.c b/tecs/tecs_cli.c index c481720d..121b66d3 100644 --- a/tecs/tecs_cli.c +++ b/tecs/tecs_cli.c @@ -105,7 +105,9 @@ void TeccClose(pTecsClient conn) { } } -int TeccSetParFtn_(pTecsClient conn, char *name, char *par, int namelen, int parlen) { +/* fortran interface ---------------- */ + +int tecc_set_par_(pTecsClient *conn, char *name, char *par, int namelen, int parlen) { char nbuf[64], pbuf[256]; if (namelen>=sizeof(nbuf)) namelen=sizeof(nbuf)-1; @@ -118,13 +120,13 @@ int TeccSetParFtn_(pTecsClient conn, char *name, char *par, int namelen, int par while (parlen>0 && pbuf[parlen-1]==' ') parlen--; /* trim */ pbuf[parlen]='\0'; - ERR_I(CocSet(conn, nbuf, pbuf)); + ERR_I(CocSet(*conn, nbuf, pbuf)); return(0); OnError: return(-1); } -int TeccGetParFtn_(pTecsClient conn, char *name, char *par, int namelen, int parlen) { +int tecc_get_par_(pTecsClient *conn, char *name, char *par, int namelen, int parlen) { int l; char nbuf[64], pbuf[256]; @@ -133,7 +135,7 @@ int TeccGetParFtn_(pTecsClient conn, char *name, char *par, int namelen, int par while (namelen>0 && nbuf[namelen-1]==' ') namelen--; /* trim */ nbuf[namelen]='\0'; - ERR_I(CocGet(conn, nbuf, pbuf)); + ERR_I(CocGet(*conn, nbuf, pbuf)); l=strlen(pbuf); if (l>parlen) l=parlen; @@ -142,7 +144,7 @@ int TeccGetParFtn_(pTecsClient conn, char *name, char *par, int namelen, int par OnError: return(-1); } -int TeccSendFtn_(pTecsClient conn, char *cmd, char *reply, int cmdlen, int replylen) { +int tecc_send_(pTecsClient *conn, char *cmd, char *reply, int cmdlen, int replylen) { int l; char cbuf[80], rbuf[80]; @@ -151,7 +153,7 @@ int TeccSendFtn_(pTecsClient conn, char *cmd, char *reply, int cmdlen, int reply while (cmdlen>0 && cbuf[cmdlen-1]==' ') cmdlen--; /* trim */ cbuf[cmdlen]='\0'; - ERR_I(TeccSend(conn, cbuf, rbuf, sizeof(rbuf))); + ERR_I(TeccSend(*conn, cbuf, rbuf, sizeof(rbuf))); l=strlen(rbuf); if (l>replylen) l=replylen; @@ -160,20 +162,67 @@ int TeccSendFtn_(pTecsClient conn, char *cmd, char *reply, int cmdlen, int reply OnError: return(-1); } +pTecsClient tecc_init_(char *server, int *port, int serverlen) { + char sbuf[132]; + + if (serverlen>=sizeof(sbuf)) serverlen=sizeof(sbuf)-1; + strncpy(sbuf, server, serverlen); + while (serverlen>0 && sbuf[serverlen-1]==' ') serverlen--; /* trim */ + sbuf[serverlen]='\0'; + return(TeccInit(sbuf, *port)); +} + +#ifdef __VMS +#define tecc_get_ tecc_get +#define tecc_get3_ tecc_get3 +#define tecc_set_ tecc_set +#define tecc_wait_ tecc_wait +#define tecc_close_ tecc_close +#define tecc_quit_server_ tecc_quit_server +#endif + +int tecc_get_(pTecsClient *conn, float *temp) { + return(TeccGet(*conn, temp)); +} + +int tecc_get3_(pTecsClient *conn, float *t1, float *t2, float *t3) { + return(TeccGet3(*conn, t1, t2, t3)); +} + +int tecc_set_(pTecsClient *conn, float *temp) { + return(TeccSet(*conn, *temp)); +} + +int tecc_wait_(pTecsClient *conn) { + return(TeccWait(*conn)); +} + +void tecc_close_(pTecsClient *conn) { + TeccClose(*conn); +} + +int tecc_quit_server_(pTecsClient *conn) { + return(TeccQuitServer(*conn)); +} + #ifdef __VMS typedef struct { short size, dummy; char *text; } Desc; -int TeccSetParFtn(pTecsClient conn, Desc *name, Desc *par) { - return(TeccSetParFtn_(conn, name->text, par->text, name->size, par->size)); +pTecsClient tecc_init(Desc *server, int *port, int serverlen) { + return(tecc_init_(server->text, port, server->size)); } -int TeccGetParFtn(pTecsClient conn, Desc *name, Desc *par) { - return(TeccGetParFtn_(conn, name->text, par->text, name->size, par->size)); +int tecc_set_par(pTecsClient *conn, Desc *name, Desc *par) { + return(tecc_set_par_(conn, name->text, par->text, name->size, par->size)); } -int TeccSendFtn(pTecsClient conn, Desc *cmd, Desc *reply) { - return(TeccSendFtn_(conn, cmd->text, reply->text, cmd->size, reply->size)); +int tecc_get_par(pTecsClient *conn, Desc *name, Desc *par) { + return(tecc_get_par_(conn, name->text, par->text, name->size, par->size)); +} + +int tecc_send(pTecsClient *conn, Desc *cmd, Desc *reply) { + return(tecc_send_(conn, cmd->text, reply->text, cmd->size, reply->size)); } #endif diff --git a/tecs/tecs_cli.h b/tecs/tecs_cli.h index a6217e30..f8fe14bf 100644 --- a/tecs/tecs_cli.h +++ b/tecs/tecs_cli.h @@ -36,8 +36,8 @@ void TeccClose(pTecsClient conn); /* close connection and free ressources ------------------------------------------------------------------------*/ -int TeccKillServer(pTecsClient conn); -/* kill the server process +int TeccQuitServer(pTecsClient conn); +/* quit the server process ------------------------------------------------------------------------*/ #endif /* _TECS_CLI_H_ */