|
|
|
@ -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
|
|
|
|
|