On 24/03/2021 11:30, Juergen Gross wrote: > xenstore_lib.h is in need to be tidied up a little bit: > > - the definition of struct xs_tdb_record_hdr shouldn't be here > - some symbols are not namespaced correctly > > Signed-off-by: Juergen Gross <jgr...@suse.com> > --- > V2: minimal variant (Ian Jackson) > --- > tools/include/xenstore_lib.h | 17 ++++------------- > tools/libs/store/libxenstore.map | 6 +++--- > tools/libs/store/xs.c | 12 ++++++------ > tools/xenstore/utils.h | 11 +++++++++++ > tools/xenstore/xenstore_client.c | 12 ++++++------ > 5 files changed, 30 insertions(+), 28 deletions(-) > > diff --git a/tools/include/xenstore_lib.h b/tools/include/xenstore_lib.h > index 4c9b6d1685..f74ad7024b 100644 > --- a/tools/include/xenstore_lib.h > +++ b/tools/include/xenstore_lib.h > @@ -43,15 +43,6 @@ struct xs_permissions > enum xs_perm_type perms;
^ This enum is still a ABI problem, as it has implementation defined size. The containing struct is used by xs_perm_to_string(). Substituting for int is probably the easiest option, because no amount of trickery with the enum values themselves can prevent the compiler deciding to use a long or larger for the object. ~Andrew