Service de noyau bsr_query

Objectif

Interroit l'existence de l'utilitaire Barrier Synchronization Register et, s'il existe, sa taille et sa granulule d'allocation.

Syntaxe

#include <sys/adspace.h>

int bsr_query (
	int *total_bytes,
	uint * supported_window_mask,
	int *free_bytes,
	uint *free_window_mask)

Paramètres

Article Descriptif
Total_octets Nombre total d'octets de la fonction BSR actuellement présents dans le système ou la partition logique
Support_window_masque Masque de bits représentant les fenêtres power-of-2-sized prises en charge pouvant être allouées
Free_octets Nombre d'octets BSR actuellement disponibles (non alloués)
Free_window_mask Masque de bits représentant les fenêtres power-of-2-sized disponibles (non allouées)

Descriptif

Le service bsr_query peut être utilisé pour détecter la présence et les fonctions de la fonction BSR (Barrier Synchronization Register) sur un système ou une partition logique donné. Si la fonction BSR est présente sur un système ou dans une partition logique, la valeur 0 est renvoyée et les paramètres, transmis par référence, sont écrits avec les informations appropriées.

La zone Total_octets est écrite avec le nombre total d'octets BSR actuellement présents dans le système ou la partition logique. La zone supported_window_mask est écrite avec un masque de contrôle des bits, où chaque ensemble de bits indique les différentes tailles de fenêtre power-of-2 auxquelles total_bytes peut être alloué et accessible. Par exemple, le masque 0x58 indique que les fenêtres de taille 64 (0x40), 16 (0x10) et 8 (0x8) octets sont prises en charge.

La zone Free_octets est écrite avec le nombre d'octets BSR dans le système ou la partition logique actuellement non alloués. La zone Free_window_mask est écrite avec un masque de bits, où chaque bit défini indique les tailles de fenêtre power-of-2 disponibles pour l'allocation et l'accès aux autres Free_octets.

Remarque: En raison de la reconfiguration dynamique, les informations renvoyées par ce service de requête peuvent devenir périmées.

Environnement d'exécution

Le service bsr_query ne peut être appelé qu'à partir de l'environnement de processus.

Valeurs renvoyées

Article Descriptif
0 La fonction BSR existe et des informations sont fournies.
ENODEV La fonction BSR n'existe pas.