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
<2022>
2023
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
<2022>
2023
2024
|