EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  <19992000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  <19992000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: symLib
From: "Tatiana V. Salikova" <[email protected]>
To: [email protected]
Date: Fri, 30 Jul 1999 18:49:38 +0700 (NSD)
Dear Madam/Sir,


At present time, I port IOC codes from VxWorks to LynxOS/x86 platform.
I emulate VxWorks calls by LynxOS features. 
I attach the list  emulated VxWorks calls to end this letter. I do not 
emulate some libraries supports BSP calls. Because this functions would be
executed by UNIX drivers. I do not compile iocCore completely yet.

Now I port data base, and I find difficulty in doing 'symbol table
subroutine library'.
EPICS uses following symLib calls:
1)  symFindByNameEPICS(...) is equal to symFindByName(...)
2)  symFindByNameAndTypeEPICS(..)is equal to symFindByNameAndType(...)
3)  symFindByValue(...)
4)  symTblCreate(...)
5)  symAdd(...)
6)  symRemove(...)
EPICS uses sysSymTbl as pointer to symbol table. I do not find <creation
of symbol table> in IOC codes. 
1-st question :
---------------
IOC uses system symbol table which spawned by
tornado/target/config/mv167/symTabl.c
Is it correct?

2-nd question:
----------------
How can search a pointer (or address) this  symbol table in vxWorks?
I guess that I can read all SYMBOL structures from this table and create
area with same structure in iocCore. This area will contain only EPICS
entries from symbol table.    
  
So, tornado/target/config/mv167/symTabl.c contains 
SYMBOL standTbl[2424] {   ...	,};
vxWorks uses definitions 
typedef SYMTAB *SYMBAB_ID;
SYMBAB_ID sysSymTbl;

Please, explain , is the pointer of standTbl disposed in struct
symtab SYMTAB? 



If you will interest this IOC development at LynxOS, I will glad to
transfer this codes to you. And  I will hear your comments about this work. 
Thanks.

Best Regards,
Tatiana
------------------------------------
Budker Institute of Nuclear Physics
prospekt Lavrentev  11
630090, Novosibirsk, RUSSIA
fax     +7 3832 342163
phone   +7 3832 394977

--------------------------------------------------------------
1       bLib.h          IT WORKS
                rsrv/caservertask.c
                     cast_server.c
                     online_notify.c
bfill()

-----------------------------------------------------
2       bootLib.h       IT WORKS
This library is used by
                db/drvTS.c
                        bootStringToStruct() is equal to
                        gettimeofday()
                libvxWorks/iocLogClient.c
                dev/...
                drv/...


-----------------------------------------------------
3       dbgLib.h        IT does not WORKS
This lybrary is used by
                ca/os_depen.h


-----------------------------------------------------
4       errnoLib.h      IT WORKS 

-----------------------------------------------------
5       envLib.h        IT WORKS
EPICS uses putenv & getenv only
-----------------------------------------------------
6       fioLib.h                IT WORKS
This lybrary is used by
                        db/db_access.c
                                EPICS can uses
                                vprintf <stdio.h>
                                vsprintf <varargs.h>

-----------------------------------------------------
7       hostLib         IT does not WORKS
Only libCom/os/vxWorks/bsdSockResource.c uses
                hostGetByAddr
                hostGetByName 


-----------------------------------------------------
8       inetLib.h       IT WORKS
it is analog of LynxOS libbsd
Differences:
                Only libCom/os/vxWorks/bsdSockResource.c uses
                inet_ntoa_b

-----------------------------------------------------
9       intLib.h                IT does not WORKS
UNIX drivers executes this functions ONLY!!!
This lybrary is used by
                db/callback.c
                db/dbScan.c
                db/devLibVxWorks.c
                db/drvTS.c
                libCom/errlogVX.c
                libvxWorks/bus_error_recovery.c
                libvxWorks/timerLib.c
                libvxWorks/veclist.c
                dev/...
                drv/...

-----------------------------------------------------
10      ioLib.h         IT WORKS 
                contains close(), create(), ioctl() ...
Differences:
sequencer/seq_main.c    uses ioGlobalStdGet()
                        it changes the assignment of spec file 
                        descriptions: 0 - input, 1 - output, 2 - error  

-----------------------------------------------------
11      iosLib.h                IT does not WORKS
This lybrary is used by 
                src/devOpt/
                src/dev/apsDev
                src/dev/vxStatusDev
                src/drv/old


-----------------------------------------------------
12      logLib.h                IT WORKS 


-----------------------------------------------------
13      lstLib.h                IT WORKS 


-----------------------------------------------------
14      memLib.h        IT WORKS 

-----------------------------------------------------
15      moduleLib.h     IT does not WORKS
This lybrary is used by
                libvxWorks/ldpp.c
                libvxWorks/ldpp_new.cc

-----------------------------------------------------
16      msqQLib.h       IT does not WORKS 


-----------------------------------------------------
17      rebootLib.h     IT WORKS
This lybrary is used by
                libvxWorks/iocLogClient.c
                dev/...
                drv/...




------------------------------------------------------
18      remLib.h                IT WORKS
This lybrary is used by
                ca/vxWorks_depen.c


-----------------------------------------------------
19      rngLib.h                IT WORKS 



-----------------------------------------------------
20      selectLib.h     IT WORKS
EPICS uses select only 
                select() witch is same as LynxOS select()



-----------------------------------------------------
21      semLib.h        IT WORKS 



-----------------------------------------------------
22      sockLib.h       IT WORKS
It provides 4.3 BSD socket calls

        DIFFERENCES:
libvxWorks/iocLogClient.c uses connectWithTimeout()

-----------------------------------------------------
23      stdioLib.h      containes "stdio.h"  only



-----------------------------------------------------
24      strLib.h        containes "string.h"  only




-----------------------------------------------------
25      symLib.h        IT does not WORKS 


-----------------------------------------------------
26      sysLib.h                IT WORKS
sysClkRateGet was done,
                        other calls supports BSP of VxWorks 



-----------------------------------------------------
27      taskHookLib.h   IT WORKS 


-----------------------------------------------------
28      taskInfo.h      IT WORKS 


-----------------------------------------------------
29      taskLib.h       IT WORKS 


-----------------------------------------------------
30      tasVarLib       IT does not WORKS 
                ca/os_depend.h
                  vxWorks_depen.c
                  access.c
                sequenser/seq_ca.c
                          seq_task.c
-----------------------------------------------------
31      tickLib.h               IT WORKS 


-----------------------------------------------------
32      timerLib.h      IT does not WORKS
This lybrary is used by
                        libvxWorks/timerLib.c
                        drv/ansi


-----------------------------------------------------
33      timexLib.h      IT does not WORKS
timexN is used by db/dbTest.c only.  


-----------------------------------------------------
34      usrLib.h                IT WORKS
Big part of this library contains standard UNIX set calls
This lybrary is used by
                        libvxWorks/ldpp.c
                        libvxWorks/ldpp_new.cc
                        rsrv/caservertask.c
                        rsrv/cast_server.c
                        rsrv/rsrv_init.c
                        sequencer/seq_main.c
                        sequencer/seq_qry.c


-----------------------------------------------------
35      vxLib.h         IT does not WORKS
UNIX drivers executes this functions ONLY!!!
routines from BSP of VxWorks
This lybrary is used by
ca/os_depen.h
db/dbBkpt.c
db/dbAccess.c
db/dbEvent.c
db/dbFastLinkConv.c
db/dbScan.c
db/devLibVxWorks.c
db/fast_lock.h
db/taskwd.c
libCom/errlogVX.c
libvxWorks/veclist.c
rec/recDynLink.c
rec/recWaitCa.c
rsrv/server.h
dev/...
drv/...



-----------------------------------------------------
36      wdLib.h         IT WORKS




Replies:
Re: symLib Andrew Johnson

Navigate by Date:
Prev: CapFast source code release Dr. Chong Lee
Next: drvGpib.c Ned Arnold
Index: 1994  1995  1996  1997  1998  <19992000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: CapFast source code release Dr. Chong Lee
Next: Re: symLib Andrew Johnson
Index: 1994  1995  1996  1997  1998  <19992000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·