Sous-routine rs_getrad

Objectif

Renvoie un domaine d'allocation de ressources système (RAD) contenu dans un jeu de ressources d'entrée.

Bibliothèque

Bibliothèque C standard (libc.a)

Syntaxe

#include <sys/rset.h>
int rs_getrad (rset, rad, sdl, index, flags)
rsethandle_t rset, rad;
unsigned int sdl;
unsigned int index;
unsigned int flags;

Descriptif

La sous-routine Rs_getrad renvoie un système RAD à un niveau et à un index de détail système spécifiés qui sont contenus dans un jeu de ressources d'entrée. Si seules certaines ressources du système RAD spécifié sont contenues dans l'ensemble de ressources en entrée, seules les ressources du système RAD et de l'ensemble de ressources en entrée sont renvoyées.

L'ensemble de ressources en entrée est spécifié par le paramètre Rset . Le système de sortie RAD est identifié par le paramètre Rad .

Le système RAD est spécifié par le niveau de détail système Xl et le numéro d'index Index. Si une partie seulement de la RAD spécifiée est contenue dans Rset, seule cette partie est renvoyée dans Rad.

Les paramètres Rset et Rad doivent être alloués (à l'aide de la sous-routine Rs_alloc ) avant d'appeler la sous-routine Rs_getrad .

Paramètres

Article Descriptif
rset Indique un descripteur de jeu de ressources pour l'ensemble de ressources en entrée.
Rad Indique un descripteur de jeu de ressources pour recevoir le système RAD de votre choix (contenu dans le paramètre Rset ).
Xl Indique le niveau de détail du système du système de RAD souhaité.
index Indique l'index du système RAD qui doit être renvoyé parmi ceux du système Xlspécifié. Ce paramètre doit appartenir à l'intervalle [0, rs_numrads(rset, sdl, flags)- 1] .
Flags Les indicateurs suivants (définis dans rset.h) peuvent être utilisés pour modifier le comportement par défaut de la sous-routine rs_getrad . Par défaut, le sous-programme Rs_getrad vide l'ensemble de ressources spécifié par Rad avant que la RDDA spécifiée ne soit extraite.
  • RS_UNION: Au lieu de vider Rad avant l'extraction de la version RAD spécifiée, l'extraction de RAD est ajoutée au contenu de Rad. Une fois terminée, Rad contient l'union de son contenu d'origine et de la version RAD spécifiée.
  • RS_EXCLUSION: Au lieu de vider Rad avant l'extraction de la version RAD spécifiée, les ressources de la version RAD spécifiée qui se trouvent également dans Rad sont supprimées de Rad. En retour, Rad contient toutes les ressources qu'il contenait à l'origine, à l'exception de celles de la version RAD spécifiée.

Valeurs renvoyées

En cas de réussite, la valeur 0 est renvoyée. En cas d'échec, la valeur -1 est renvoyée et la variable globale errno est définie pour indiquer l'erreur.

Codes d'erreur

La sous-routine Rs_getrad échoue si une ou plusieurs des opérations suivantes sont vraies:

Article Descriptif
EINVAL Les causes possibles sont les suivantes :
  • Le paramètre Indicateurs contient une valeur non valide.
  • Le paramètre Xl est supérieur au niveau de détail maximal du système.
  • La RAD spécifiée par le paramètre Index n'existe pas au niveau de détail système spécifié par le paramètre Xl .
EDÉFAUT Adresse non valide.