<!-- Copyright (C) 2013 Free Software Foundation, Inc.

     Copying and distribution of this file, with or without modification,
     are permitted in any medium without royalty provided the copyright
     notice and this notice are preserved.  -->

<!-- library-list: Root element with versioning -->
<!ELEMENT library-list-aix  (library)*>
<!ATTLIST library-list-aix  version CDATA   #FIXED  "1.0">

<!ELEMENT library  (name, member, text_addr, text_size, data_addr, data_size)>
<!ATTLIST library  name       CDATA   #REQUIRED>
<!ATTLIST library  member     CDATA   #REQUIRED>
<!ATTLIST library  text_addr  CDATA   #REQUIRED>
<!ATTLIST library  text_size  CDATA   #REQUIRED>
<!ATTLIST library  data_addr  CDATA   #REQUIRED>
<!ATTLIST library  data_size  CDATA   #REQUIRED>

