Conflitos de declaração entre time.he linux / time.h me impedem de usar CLOCK_TAI

Eu gostaria de usar

#include <time.h>
clock_gettime(CLOCK_TAI, &...);

mas infelizmenteCLOCK_TAI&nbsp;não está definido em estoquetime.h&nbsp;cabeçalho (no openSUSE 13.2 pelo menos). No entanto, é definido emlinux / time.h&nbsp;e realmente suportado pelo sistema operacional. Mas se eu incluir o último cabeçalho, ele provocará muitos conflitos de declaração - contra ambostime.h&nbsp;ebits / types.h. Incluindo apenas olinux / time.h&nbsp;não ajuda, comotime.h&nbsp;e / oubits / types.h&nbsp;serão implicitamente incluídos por cabeçalhos comuns, comounistd.h&nbsp;oustdlib.h, de qualquer forma.

Então, eu tentei resolver conflitos manualmente. Particularmente, a primeira mensagem de erro do compilador foi sobretimespec&nbsp;redeclaração, então eu escrevi no meu código:

#include <time.h>
#if defined(__timespec_defined) && !defined(_STRUCT_TIMESPEC)
    #define _STRUCT_TIMESPEC
#endif
#include <linux/time.h>

Funcionou, mas não sem mais um conflito comitimerspec&nbsp;redeclaração, que é declarada incondicionalmente em ambos os cabeçalhos e não é concluída com definições de quaisquer guardas de inclusão. Então eu decidi banir implícitotime.h&nbsp;inclusão completamente:

#include <linux/time.h>
#ifndef _TIME_H
    #define _TIME_H
#endif

Isso continuou com o compilador reclamando sobretimeval&nbsp;redeclaração. Então eu bani implícitobits / types.h&nbsp;inclusão também:

#include <linux/time.h>
#ifndef _TIME_H
    #define _TIME_H
#endif
#ifndef _BITS_TYPES_H
    #define _BITS_TYPES_H
#endif

Tudo bem, mas isso também remove importantes declarações básicas, sobre as quais tipos comuns, comosize_t&nbsp;são baseados. Então eu tentei ir na direção oposta e desativarlinux / types.h&nbsp;inclusão:

#ifndef _LINUX_TYPES_H
    #define _LINUX_TYPES_H
#endif
#include <linux/time.h>
#ifndef _TIME_H
    #define _TIME_H
#endif

Como você pode imaginar, resultou em tipos específicos do sistema, como__kernel_time_t&nbsp;falta, o que levou à incapacidade de declarartimespec&nbsp;e assim por diante.

Então, eu estou me perguntando: é possível usarlinux /…&nbsp;cabeçalhos em combinação comstdlib.h&nbsp;e outros arquivos normalmente incluídos? Existem outras maneiras de acessar informações específicas do sistemaCLOCK_TAI&nbsp;valor?