<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">
      <pre>on 2019/11/20 23:16, Petr Vorel wrote:</pre>
    </div>
    <blockquote type="cite" cite="mid:20191120151610.GB28197@dell5510">
      <pre class="moz-quote-pre" wrap="">Hi Jan, Cyril, Xu,

</pre>
      <blockquote type="cite">
        <blockquote type="cite">
          <pre class="moz-quote-pre" wrap="">+#ifdef HAVE_STRUCT_IF_NEXTDQBLK
+# include <linux/quota.h>
+#else
+# ifdef HAVE_LINUX_TYPES_H
+# include <linux/types.h>
</pre>
        </blockquote>
        <pre class="moz-quote-pre" wrap="">@Jan, @Cyril: Do we want to generally avoid loading <linux/types.h> if not really needed?
__u64 can be uint64_t etc (as it's also visible in struct dqblk in <sys/quota.h>
in various libc headers).
We used this approach for /usr/include/linux/bpf.h and for fanotify fixes for
musl (testcases/kernel/syscalls/fanotify/fanotify.h).
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">So unless you're against this approach here I'll change it before merge
(and add this info to next version of library API writing guidelines patch
<a class="moz-txt-link-freetext" href="https://patchwork.ozlabs.org/patch/1166786/">https://patchwork.ozlabs.org/patch/1166786/</a>).
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">+ general question: do we want always test against kernel headers or libc
headers? Libc is often outdated, so mostly it'd be our fallback to be tested.
Ideally both kernel and libc header should be tested, but that's not easily
achievable.</pre>
    </blockquote>
    <pre><span class="tlid-translation translation" lang="en"><span title="" class="">IMHO, We often test libc and it usually includes kernel headers ie. <sys/quota.h> 
<sys/prctl.h>. I perfet to check one except that glibc and kernel they have themselves implementation .

If the struct or variable is not defined, we can define it in ltp lapi headers. 
Then we can avoid build error and increase coverage(because kernel may implement it).
</span></span> </pre>
    <blockquote type="cite" cite="mid:20191120151610.GB28197@dell5510">
      <pre class="moz-quote-pre" wrap="">

Kind regards,
Petr

</pre>
    </blockquote>
  </body>
</html>