Embedded Application Programming Interface - picmg
Embedded Application Programming Interface - picmg
Embedded Application Programming Interface - picmg
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
13.2 Linux/Unix Shared Library Naming Convention<br />
Problem<br />
Due to the nature of ELF Shared Libraries in Linux/UNIX/... it may not be possible to distinguish one<br />
manufacturer's DLL from another. Although it would possible to do this using a tool that uses the API,<br />
It may not be possible to load the shared library, due to missing dependencies.<br />
Solution<br />
Filename Convention<br />
libEApiYYY.so.W.Z<br />
Part Example Description<br />
YYY PMG Vendor PNPID<br />
W 1 EAPI Specification Version number<br />
X 0 EAPI Specification Revision number<br />
Soname Convention<br />
libEApi.so.W<br />
Part Example Description<br />
W 1 EAPI Specification Version number<br />
Example<br />
Shared Library<br />
Filename = libEapiPMG.so.1.0<br />
soname = libEApi.so.1<br />
in file system.<br />
/usr/lib/libEApi.so.1 → /usr/lib/libEapiPMG.so.1.0<br />
/usr/lib/libEApiPMG.so.1.0<br />
see EApiDK for sample implementation.<br />
13.3 ELF/a.out Format Shared Libraries<br />
13.3.1 Library Output Format<br />
Problem<br />
Due to the nature of ELF Dynamic Link Libraries in Linux/UNIX/... it may not be possible to distinguish<br />
one manufacturer's DLL from another. Although it would possible to do this using a tool that uses the<br />
API, It may not be possible to load the DLL, due to missing dependencies.<br />
Solution<br />
The solution is to require the shared libraries be executable. Upon Execution the library should then<br />
print out the following information.<br />
The Output format is<br />
=Value<br />
and should be matched by this regular expression. m/^\s*(\w+)\s*=\s*(.+)\s*$/<br />
where<br />
$1=Variable name<br />
$2=Value/Data.<br />
PICMG® EAPI R1.0, August 8, 2010 page 80 of 83