EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: Re: Retrieving record name from aSub input/output fields
From: Michael Davidsaver via Tech-talk <tech-talk at aps.anl.gov>
To: "Wang, Andrew" <wang126 at llnl.gov>
Cc: EPICS tech-talk <tech-talk at aps.anl.gov>
Date: Wed, 27 Jul 2022 08:30:05 -0700
On 7/26/22 16:53, Wang, Andrew via Tech-talk wrote:
Update. I think I got it. I had to do the following.

static long func(aSubRecord *prec)

{

         DBLINK inpa = prec->inpa;

Be aware that 'inpa.value' is a C union.

So it is strongly recommended to test 'prec->inp.type' before accessing.
In this case you are assuming that 'prec->inp.type==DB_LINK'.


                 char *rec_name = inpa.value.pv_link.pvname;

                 printf(“Record name in INPA is %s\n”, rec_name);

Also, what motivates this?  Have you found an operation that
isn't covered by the link abstraction?


                 return 0;

}


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*From:* Wang, Andrew
*Sent:* Tuesday, July 26, 2022 4:17 PM
*To:* EPICS tech-talk <tech-talk at aps.anl.gov>
*Subject:* Retrieving record name from aSub input/output fields

Hi all,

Quick question this time. I was wondering if there was a way to retrieve the name of the record referenced in an OUTLINK/INLINK field such as INPA, OUTA, etc. in the aSub routine.

For instance, suppose I had an aSub record such as the following.

record(aSub, “example”)

{

                 field(SNAM, “func”)

                 field(INPA,   “rec_in_inpa”)

}

I would like to be able to print the name of the record in INPA within “func”.

static long func(aSubRecord *prec)

{

                 char *rec_name = prec->____;

                 printf(“Record name in INPA is %s\n”, rec_name);

                 return 0;

}

Thanks,

Andy

Purple ribbon awareness <https://www.disabled-world.com/disability/awareness/ribbons.php#purple>



Replies:
Re: Retrieving record name from aSub input/output fields Wang, Andrew via Tech-talk
References:
Retrieving record name from aSub input/output fields Wang, Andrew via Tech-talk
Re: Retrieving record name from aSub input/output fields Wang, Andrew via Tech-talk

Navigate by Date:
Prev: Re: PVA and Docker on Mac Michael Davidsaver via Tech-talk
Next: Re: Retrieving record name from aSub input/output fields Andrew Johnson via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024 
Navigate by Thread:
Prev: Re: Retrieving record name from aSub input/output fields Wang, Andrew via Tech-talk
Next: Re: Retrieving record name from aSub input/output fields Wang, Andrew via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024 
ANJ, 14 Sep 2022 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·