Fixed the address of ioc by name in BSlib.c.

Added app list to the services of PVSvx.
Removed rdbls from PVSserver - made it a separate file.
This commit is contained in:
Jim Kowalkowski
1995-09-13 18:26:42 +00:00
parent b64fa8bd87
commit 8d52177933
4 changed files with 58 additions and 40 deletions

View File

@@ -637,17 +637,12 @@ int BSsetAddress(BSDATA* info, char* ip_addr)
struct sockaddr_in* sin = (struct sockaddr_in*)&(info->sin);
unsigned long addr;
sin->sin_family=AF_INET;
#ifndef vxWorks
/* Deal with the name -vs- IP number issue. */
if (isdigit(ip_addr[0]))
{
#endif
if((addr=inet_addr(ip_addr))==-1)
return -1;
else
memcpy((char*)&(sin->sin_addr),(char*)&addr,sizeof(addr));
if((addr=inet_addr(ip_addr))==-1) return -1;
#ifndef vxWorks
}
else
@@ -657,6 +652,9 @@ int BSsetAddress(BSDATA* info, char* ip_addr)
}
#endif
sin->sin_family=AF_INET;
memcpy((char*)&(sin->sin_addr),(char*)&addr,sizeof(addr));
return 0;
}

View File

@@ -11,13 +11,13 @@ LEXOPT = -L
SRCS.c = ../dbVarSub.c dbLoadTemplate_lex.c dbLoadTemplate.c \
dbLoadRecords_lex.c dbLoadRecords.c \
../BSlib.c ../PVSserver.c
../BSlib.c ../PVSserver.c ../rdbapplist.c ../rdbls.o
VAR_OBJS = dbVarSub.o dbLoadTemplate.o dbLoadRecords.o
OBJS = $(VAR_OBJS) BSlib.o PVSserver.o
OBJS = $(VAR_OBJS) BSlib.o PVSserver.o rdbapplist.o rdbls.o
PROD = subtool dbLoadTemplate
TARGETS = PVSserver rdbls
PROD = subtool dbLoadTemplate rdbls rdbapplist
TARGETS = PVSserver
include $(EPICS)/config/RULES.Unix
@@ -27,8 +27,11 @@ dbLoadRecords.o: dbLoadRecords_lex.c
PVSserver: PVSserver.o BSlib.o
$(LINK.c) $(ARCH_DEP_LDLIBS) $(LDFLAGS) -o $@ $^
rdbls.o: ../PVSserver.c
$(COMPILE.c) $(CFLAGS) -DRDBLS -o $@ $<
rdbls: rdbls.o BSlib.o
$(LINK.c) $(ARCH_DEP_LDLIBS) $(LDFLAGS) -o $@ $^
rdbapplist: rdbapplist.o BSlib.o
$(LINK.c) $(ARCH_DEP_LDLIBS) $(LDFLAGS) -o $@ $^
subtool.o: dbLoadTemplate.c dbLoadTemplate_lex.c
$(COMPILE.c) $(CFLAGS) -DSUB_TOOL -o $@ $<
@@ -36,9 +39,6 @@ subtool.o: dbLoadTemplate.c dbLoadTemplate_lex.c
subtool: subtool.o dbVarSub.o
$(LINK.c) $(CFLAGS) -DSUB_TOOL -o $@ $^ -s
rdbls: rdbls.o BSlib.o
$(LINK.c) $(ARCH_DEP_LDLIBS) $(LDFLAGS) -DRDBLS -o $@ $^ -s
dbLoadTemplate: $(VAR_OBJS)
$(LINK.c) -o $@ $^ $(LDLIBS) -lDb

View File

@@ -21,24 +21,6 @@ static PVSNODE* ioc_list = (PVSNODE*)NULL;
static int read_pvs(BSDATA* info,int serv,char* sname);
#ifndef PVS_SERVER_PROG
#ifdef RDBLS
int main(int argc,char** argv)
{
BSDATA info;
int rc;
if(argc<2)
{
fprintf(stderr,"usage: %s IOC-ip-address\n",argv[0]);
return -1;
}
BSsetAddress(&info,argv[1]);
rc=read_pvs(&info,PVS_RecList,(char*)NULL);
if(rc<0) fprintf(stderr,"read of data failed horribly\n");
return 0;
}
#else
int main(int argc,char** argv)
{
BSDATA info;
@@ -64,7 +46,6 @@ int main(int argc,char** argv)
return 0;
}
#endif
#else
int main(int argc,char** argv)
{
@@ -184,7 +165,7 @@ static int read_pvs(BSDATA* info,int serv,char* sname)
BSgetAddressPort(info,ip_from,&port);
printf("IOC %s starting\n",ip_from);
/* printf("IOC %s starting\n",ip_from); */
/* verify ioc not already added */
if(access(ip_from,F_OK)==0)

View File

@@ -29,6 +29,8 @@ static void handle_requests(BS* bs);
static void handle_reclist(BS* bs);
static void handle_applist(BS* bs);
static void handle_recdump(BS* bs);
static void handle_spylist(BS* bs);
static void handle_tasklist(BS* bs);
void PVS_test_server(BS* bs);
static char* names = (char*)NULL;
@@ -302,21 +304,58 @@ static void handle_requests(BS* bs)
}
}
void PVS_test_server(BS* bs)
/* --------------------------------------------------------------- */
struct dbnode
{
printf("PVS_test_server invoked\n");
BSsendHeader(bs,BS_Done,0);
}
char* name;
struct dbnode* next;
};
typedef struct dbnode DBNODE;
extern DBNODE* DbApplList;
void handle_applist(BS* bs)
{
printf("AppList server invoked\n");
DBNODE* n;
int size,len;
len=0;
for(n=DbApplList;n;n=n->next)
{
len=strlen(n->name)+1;
if(BSsendHeader(bs,PVS_Data,len)<0)
printf("PVSserver: data cmd failed\n");
else
{
if(BSsendData(bs,n->name,len)<0)
printf("PVSserver: data send failed\n");
}
}
BSsendHeader(bs,BS_Done,0);
}
/* --------------------------------------------------------------- */
void handle_recdump(BS* bs)
{
printf("RecDump server invoked\n");
BSsendHeader(bs,BS_Done,0);
}
void PVS_test_server(BS* bs)
{
printf("PVS_test_server invoked\n");
BSsendHeader(bs,BS_Done,0);
}
void handle_spylist(BS* bs)
{
printf("PVS spy list server invoked\n");
}
void handle_tasklist(BS* bs)
{
printf("PVS task list server invoked\n");
}