version working with also with redhat linux
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
#include <sys/time.h>
|
||||
#include <time.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
@ -67,11 +67,7 @@ int InstrHost(char *input, char *instr, char *host, char *user, char *pcod
|
||||
#ifdef F_CHAR
|
||||
/* compile only when fortran c interface stuff is defined */
|
||||
|
||||
#ifdef __VMS
|
||||
#define instr_host_ instr_host
|
||||
#endif
|
||||
|
||||
int instr_host_(F_CHAR(input), F_CHAR(instr), F_CHAR(host), F_CHAR(user), F_CHAR(pcod)
|
||||
int F_FUN(instr_host)(F_CHAR(input), F_CHAR(instr), F_CHAR(host), F_CHAR(user), F_CHAR(pcod)
|
||||
, int input_len, int instr_len, int host_len, int user_len, int pcod_len) {
|
||||
char buf[256], in[256], ho[256], us[256], pc[256];
|
||||
int iRet;
|
||||
|
@ -1,5 +1,5 @@
|
||||
#ifndef _INSTR_HOSTS_H_
|
||||
#define _INSTR_HOSTS_H_
|
||||
#ifndef _MYC_STR_H_
|
||||
#define _MYC_STR_H_
|
||||
|
||||
int InstrHost(char *input, char *instr, char *host, char *user, char *pcod
|
||||
, int instr_len, int host_len, int user_len, int pcod_len);
|
||||
@ -8,4 +8,4 @@ int InstrHost(char *input, char *instr, char *host, char *user, char *pcod
|
||||
output is: instrument name, host name, user name and pcod (the code needed to enter...)
|
||||
*/
|
||||
|
||||
#endif /* _INSTR_HOSTS_H_ */
|
||||
#endif /* _MYC_STR_H_ */
|
||||
|
@ -104,40 +104,32 @@ void ERR_EXIT(char *text) {
|
||||
#ifdef F_CHAR
|
||||
/* compile only when fortran c interface stuff is defined */
|
||||
|
||||
#ifdef __VMS
|
||||
#define err_show_ err_show
|
||||
#define err_txt_ err_txt
|
||||
#define err_msg_ err_msg
|
||||
#define err_set_outrtn_ err_set_outrtn
|
||||
#define err_short_ err_short
|
||||
#endif
|
||||
|
||||
void err_show_(F_CHAR(text), int text_len) {
|
||||
void F_FUN(err_show)(F_CHAR(text), int text_len) {
|
||||
char buf[256];
|
||||
|
||||
STR_TO_C(buf, text);
|
||||
ErrShow(buf);
|
||||
}
|
||||
|
||||
void err_txt_(F_CHAR(text), int text_len) {
|
||||
void F_FUN(err_txt)(F_CHAR(text), int text_len) {
|
||||
char buf[256];
|
||||
|
||||
STR_TO_C(buf, text);
|
||||
ErrTxt(buf,0);
|
||||
}
|
||||
|
||||
void err_msg_(F_CHAR(text), int text_len) {
|
||||
void F_FUN(err_msg)(F_CHAR(text), int text_len) {
|
||||
char buf[256];
|
||||
|
||||
STR_TO_C(buf, text);
|
||||
ErrMsg(buf);
|
||||
}
|
||||
|
||||
void err_set_outrtn_(void (*rtn)(), void *arg) {
|
||||
void F_FUN(err_set_outrtn)(void (*rtn)(), void *arg) {
|
||||
ErrSetOutRtn(rtn, arg);
|
||||
}
|
||||
|
||||
void err_short_(void) {
|
||||
void F_FUN(err_short)(void) {
|
||||
ErrShort(ErrMessage);
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include <assert.h>
|
||||
#include <sys/time.h>
|
||||
#include <time.h>
|
||||
#include <sys/timeb.h>
|
||||
#include "sys_util.h"
|
||||
#include "myc_time.h"
|
||||
@ -107,14 +107,8 @@ int mycTime(int date) {
|
||||
/* compile only when fortran c interface stuff is defined */
|
||||
|
||||
|
||||
#ifdef __VMS
|
||||
#define myc_date_ myc_date
|
||||
#define myc_time_ myc_time
|
||||
#define myc_now_ myc_now
|
||||
#endif
|
||||
|
||||
int myc_now_(void) { return mycNow(); }
|
||||
int myc_date_(int *time) { return mycDate(*time); }
|
||||
int myc_time_(int *date) { return mycTime(*date); }
|
||||
int F_FUN(myc_now)(void) { return mycNow(); }
|
||||
int F_FUN(myc_date)(int *time) { return mycDate(*time); }
|
||||
int F_FUN(myc_time)(int *date) { return mycTime(*date); }
|
||||
|
||||
#endif
|
||||
|
@ -26,17 +26,25 @@ typedef struct { short size, dummy; char *text; } SysVmsChar;
|
||||
#define F_CHAR(VAR) SysVmsChar *VAR##_desc
|
||||
#define STR_TO_C(DST,SRC) str_ntrim(DST, SRC##_desc->text, sizeof(DST), SRC##_desc->size)
|
||||
#define STR_TO_F(DST,SRC) str_npad(DST##_desc->text, SRC, DST##_desc->size)
|
||||
#define F_FUN(A) A
|
||||
|
||||
typedef size_t sys_adr_len; /* argument of accept and gethostbyadr */
|
||||
|
||||
void sys_ctrl_init(void);
|
||||
|
||||
|
||||
#elif defined __alpha || defined __unix
|
||||
|
||||
#define F_CHAR(VAR) char *VAR
|
||||
#define STR_TO_C(DST,SRC) str_ntrim(DST, SRC, sizeof(DST), SRC##_len)
|
||||
#define STR_TO_F(DST,SRC) str_npad(DST, SRC, DST##_len)
|
||||
|
||||
#ifdef __alpha
|
||||
#define F_FUN(A) A##_
|
||||
#else
|
||||
#define F_FUN(A) A##__
|
||||
#endif
|
||||
|
||||
typedef int sys_adr_len; /* argument of accept and gethostbyadr */
|
||||
|
||||
#define sys_ctrl_init() 0
|
||||
|
@ -107,27 +107,9 @@ void TeccClose(pTecsClient conn) {
|
||||
/* compile only when fortran c interface stuff is defined */
|
||||
|
||||
|
||||
#ifdef __VMS
|
||||
#define tecs_get_par_ tecs_get_par
|
||||
#define tecs_get_mult_ tecs_get_mult
|
||||
#define tecs_set_par_ tecs_set_par
|
||||
#define tecs_init_ tecs_init
|
||||
#define tecs_get3_ tecs_get3
|
||||
#define tecs_get_ tecs_get
|
||||
#define tecs_set_ tecs_set
|
||||
#define tecs_is_open_ tecs_is_open
|
||||
#define tecs_close_ tecs_close
|
||||
#define tecs_quit_server_ tecs_quit_server
|
||||
#define tecs_watch_log_ tecs_watch_log
|
||||
#define tecs_get_data_ tecs_get_data
|
||||
#define tecs_date_ tecs_date
|
||||
#define tecs_time_ tecs_time
|
||||
#define tecs_rights_ tecs_rights
|
||||
#endif
|
||||
|
||||
static pTecsClient conn=NULL;
|
||||
|
||||
int tecs_set_par_(F_CHAR(name), F_CHAR(par), int *show, int name_len, int par_len) {
|
||||
int F_FUN(tecs_set_par)(F_CHAR(name), F_CHAR(par), int *show, int name_len, int par_len) {
|
||||
char nbuf[64], pbuf[COC_CMD_LEN];
|
||||
int iret=-1;
|
||||
|
||||
@ -144,7 +126,7 @@ int tecs_set_par_(F_CHAR(name), F_CHAR(par), int *show, int name_len, int par_le
|
||||
OnError: return(-1);
|
||||
}
|
||||
|
||||
int tecs_get_par_(F_CHAR(name), F_CHAR(par), int *show, int name_len, int par_len) {
|
||||
int F_FUN(tecs_get_par)(F_CHAR(name), F_CHAR(par), int *show, int name_len, int par_len) {
|
||||
char *b, nbuf[64], pbuf[COC_RES_LEN];
|
||||
int iret=-1;
|
||||
|
||||
@ -169,7 +151,7 @@ int tecs_get_par_(F_CHAR(name), F_CHAR(par), int *show, int name_len, int par_le
|
||||
OnError: return(-1);
|
||||
}
|
||||
|
||||
int tecs_get_mult_(F_CHAR(names), int *time, int *nvalues, float values[], int names_len) {
|
||||
int F_FUN(tecs_get_mult)(F_CHAR(names), int *time, int *nvalues, float values[], int names_len) {
|
||||
char *b, nbuf[64], pbuf[COC_RES_LEN];
|
||||
char *nams, nam[32];
|
||||
int i;
|
||||
@ -193,7 +175,7 @@ int tecs_get_mult_(F_CHAR(names), int *time, int *nvalues, float values[], int n
|
||||
OnError: return(-1);
|
||||
}
|
||||
|
||||
int tecs_init_(F_CHAR(startcmd), int *port, int startcmd_len) {
|
||||
int F_FUN(tecs_init)(F_CHAR(startcmd), int *port, int startcmd_len) {
|
||||
char sbuf[132];
|
||||
|
||||
STR_TO_C(sbuf, startcmd);
|
||||
@ -202,7 +184,7 @@ int tecs_init_(F_CHAR(startcmd), int *port, int startcmd_len) {
|
||||
OnError: return(-1);
|
||||
}
|
||||
|
||||
int tecs_rights_(int write) {
|
||||
int F_FUN(tecs_rights)(int write) {
|
||||
if (write) {
|
||||
ERR_I(CocSendMagic(conn, rwCode));
|
||||
} else {
|
||||
@ -212,34 +194,34 @@ int tecs_rights_(int write) {
|
||||
OnError: return(-1);
|
||||
}
|
||||
|
||||
int tecs_get_(float *temp) {
|
||||
int F_FUN(tecs_get)(float *temp) {
|
||||
ERR_I(TeccGet(conn, temp));
|
||||
return(0);
|
||||
OnError: return(-1);
|
||||
}
|
||||
|
||||
int tecs_get3_(float *t1, float *t2, float *t3) {
|
||||
int F_FUN(tecs_get3)(float *t1, float *t2, float *t3) {
|
||||
ERR_I(TeccGet3(conn, t1, t2, t3));
|
||||
return(0);
|
||||
OnError: return(-1);
|
||||
}
|
||||
|
||||
int tecs_set_(float *temp) {
|
||||
int F_FUN(tecs_set)(float *temp) {
|
||||
ERR_I(TeccSet(conn, *temp));
|
||||
return(0);
|
||||
OnError: return(-1);
|
||||
}
|
||||
|
||||
int tecs_is_open_() {
|
||||
int F_FUN(tecs_is_open)(void) {
|
||||
return(conn!=NULL);
|
||||
}
|
||||
|
||||
void tecs_close_(void) {
|
||||
void F_FUN(tecs_close)(void) {
|
||||
TeccClose(conn);
|
||||
conn=NULL;
|
||||
}
|
||||
|
||||
int tecs_quit_server_(int *kill) {
|
||||
int F_FUN(tecs_quit_server)(int *kill) {
|
||||
int iret;
|
||||
|
||||
ERR_I(iret=TeccQuitServer(conn, *kill));
|
||||
@ -247,7 +229,7 @@ int tecs_quit_server_(int *kill) {
|
||||
OnError: return(-1);
|
||||
}
|
||||
|
||||
int tecs_watch_log_(F_CHAR(list), int list_len) {
|
||||
int F_FUN(tecs_watch_log)(F_CHAR(list), int list_len) {
|
||||
char buf[16];
|
||||
STR_TO_C(buf, list);
|
||||
ERR_I(CocWatchLog(conn, buf));
|
||||
@ -255,7 +237,7 @@ int tecs_watch_log_(F_CHAR(list), int list_len) {
|
||||
OnError: return(-1);
|
||||
}
|
||||
|
||||
int tecs_get_data_(F_CHAR(names), int *startTime, int *endTime, int *step, int *tbase
|
||||
int F_FUN(tecs_get_data)(F_CHAR(names), int *startTime, int *endTime, int *step, int *tbase
|
||||
, float xdata[], float ydata[], int *maxLen, int *width
|
||||
, int retLen[], int names_len) {
|
||||
char nam[64];
|
||||
|
@ -17,6 +17,9 @@ pTecsClient TeccInit(char *server, int port);
|
||||
int TeccGet(pTecsClient conn, float *temp);
|
||||
/* get temperature */
|
||||
|
||||
int TeccGet3(pTecsClient conn, float *tSet, float *tExch, float *tSamp);
|
||||
/* get temperatures */
|
||||
|
||||
int TeccSet(pTecsClient conn, float temp);
|
||||
/* set temperature */
|
||||
|
||||
|
@ -137,8 +137,7 @@ c if INIT exists, read it to get the port number and the start command
|
||||
endif
|
||||
end
|
||||
|
||||
|
||||
SUBROUTINE TECS_GET_T (IOLUN, TEMP, IRET) !!
|
||||
SUBROUTINE TECS_GET_T (IOLUN, TEMP, IRET) !!
|
||||
!! =========================================
|
||||
!!
|
||||
!! Get temperatures and wait if TECS is configuring
|
||||
@ -176,8 +175,7 @@ c------------------------------------------------------------------------------
|
||||
temp(4)=0.0 ! no auxilliary sensor
|
||||
end
|
||||
|
||||
|
||||
subroutine TECS_WRITE_ERROR(IOLUN) !!
|
||||
subroutine TECS_WRITE_ERROR(IOLUN) !!
|
||||
!! ==================================
|
||||
!!
|
||||
!! write out error message of last error and stack info
|
||||
@ -193,8 +191,7 @@ c------------------------------------------------------------------------------
|
||||
end
|
||||
|
||||
|
||||
|
||||
subroutine TECS_WRITE_MSG(IOLUN) !!
|
||||
subroutine TECS_WRITE_MSG(IOLUN) !!
|
||||
!! ================================
|
||||
!!
|
||||
!! write out error message of last error without stack info
|
||||
@ -210,8 +207,7 @@ c------------------------------------------------------------------------------
|
||||
end
|
||||
|
||||
|
||||
|
||||
SUBROUTINE TECS_ERR_ROUTINE (LUN, TEXT)
|
||||
SUBROUTINE TECS_ERR_ROUTINE (LUN, TEXT)
|
||||
! =======================================
|
||||
!
|
||||
! routine called from C
|
||||
|
Reference in New Issue
Block a user