Дескриптор библиотеки libcache 
#include <sys/cache.h>
        
struct cache_ctrl {
    _Uint32t                cache_line_size;
    _Uint32t                cache_flush_rate;
    _Uint32t                cache_invalidate_rate;
    _Uint32t                flags;                  
    int                     fd;
    struct cache_funcs      cf;                     
    void                    *dll;                   
    struct cacheattr_entry  **cachelist;            
    int                     ncaches;                
    struct syspage_entry    *syspage;               
    unsigned                bitmask;                
};
Тип используется в качестве дескриптора состояния библиотеки libcache, который хранит в том числе информацию для внутреннего использования библиотекой. Структура включает следующие поля:
 
  -  cache_line_size   
 -  После выполнения функции данное поле будет содержать размер строки кэша в байтах. Если в системе реализован протокол отслеживания шины, это поле может содержать ноль.    
 -  cache_flush_rate   
 -  Предоставляет драйверу индикацию о стоимости очистки кеша:  
  -  CACHE_OP_RATE_SNOOP   
 -  Из-за механизма отслеживания шины операция очистки кеша имеет незначительную стоимость.    
 -  CACHE_OP_RATE_INLINE   
 -  Операции очистки кэша реализуются с помощью встроенных подпрограмм, зависящих от ЦП, и стоят недорого.    
 -  CACHE_OP_RATE_CALLOUT   
 -  Операции очистки кеша реализуются путем вызова внешней функции, что вызывает небольшие накладные расходы ЦП.    
 -  CACHE_OP_RATE_MSYNC   
 -  Операции очистки кеша реализуются путем вызова msync(). Поскольку эта функция реализована с помощью системного вызова, операция будет очень дорогостоящей. Очень маловероятно, что библиотека в конечном итоге вызовет msync(), но в этом случае драйвер потенциально может достичь лучшей производительности, отображая буферы данных как некэшируемые, чтобы избежать необходимости выполнять операции синхронизации кеша.  
 
     -  cache_invalidate_rate   
 -  Предоставляет драйверу индикацию стоимости выполнения процедуры аннулирования кеша. Значения, определенные для этого поля, аналогичны тем, которые определены для поля cache_flush_rate.    
 -  fd   
 -  Драйверу следует установить данное поле в значение 
NOFD.   
На другие поля в структуре не следует ссылаться или изменять их.
ЗОСРВ «Нейтрино»
 cache_fini(),  CACHE_FLUSH(),  cache_init(),  CACHE_INVAL()
 
Предыдущий раздел:  Описание API библиотеки cache