On Fri, 2 Apr 2021 16:19:45 +0300 "Yordan Karadzhov (VMware)" <y.karadz@xxxxxxxxx> wrote: > We would like the instance object to own two bit masks (struct > tracefs_options_mask) associated with all supported and all enabled > options. However, the definition of the instance itself is not public, > hence the code implementing the "options" related APIs has to in the > same source file as the definition of the instance. The above is not true. We can keep the code in tracefs-tools.c and make it "public" for the internal use of the library, but not part of the API. To do so, you place shared structures and functions in include/tracefs-local.h, and mark all non static functions with "__hidden" which will keep it from being used outside the library. Do you still feel that the moving of this code is needed? -- Steve > > Signed-off-by: Yordan Karadzhov (VMware) <y.karadz@xxxxxxxxx> > --- > src/tracefs-instance.c | 266 +++++++++++++++++++++++++++++++++++++++++ > src/tracefs-tools.c | 266 ----------------------------------------- > 2 files changed, 266 insertions(+), 266 deletions(-)