User space - APIs de manipulation

BoTTom |    Changer de couleur
 
      Les API permettant de manipuler un user space.
 
 
        Création
                          + QUSCRTUS 
 
                          - CHAR(20) <-*usrspc(10c)-><-biblio(10c)->
                          - CHAR(10) attribut (ce que vous voulez)
                          - BIN(4,0) Taille initiale
                          - CHAR(1)  Valeur initiale de chaque octet
                            [mettre x'00' augmente les performances]
                          - CHAR(10) Autorisation pour *PUBLIC
                          - CHAR(50) texte descriptif
                     ------------------Paramètres optionnels----------------
                          - CHAR(10) remplacement (*yes/*no)
                          - CHAR(?)  code retour
                     ------------------Paramètre optionnel (2)-------------
                          - CHAR(10) domaine
 
 
 


|    Changer de couleur
 
      Les API permettant de manipuler un user space.
 
 
        Extraction
                          + QUSRTVUS 
 
                          - CHAR(20) <-*usrspc(10c)-><-biblio(10c)->
                          - BIN(4,0) Position de début dans le user space
                          - BIN(4,0) Lg des données à extraire
                          - CHAR(?)  Variable de retour
 
 
        La position de début est donnée par le format de l'en-tête
         (voir structure d'un user space) ou par un déplacement "lu"
         dans l'en-tête par un appel précédent à cette API.
 
  .....................................................................
  : ASTUCE, la commande DSPF permet de voir le contenu d'un UserSpace :
  :         DSPF STMF('/qsys.lib/qtemp.lib/le_nom.usrspc')            :
  :...................................................................:
 


|    Changer de couleur
 
      Les API permettant de manipuler un user space.
 
 
        Modification
                          + QUSCHGUS 
 
                          - CHAR(20) <-*usrspc(10c)-><-biblio(10c)->
                          - BIN(4,0) Position de début dans le user space
                          - BIN(4,0) Lg des données à modifier
                          - CHAR(?)  nouvelle valeur
                          - CHAR(1)  forcer sur mémoire auxillaire
                                     '0' = non
                                     '1' = oui (en asynchrone)
                                     '2' = oui (en synchrone)
 
 
 
 
 
 
 


|    Changer de couleur
 
      Les API permettant de manipuler un user space.
 
 
        Suppression:
                          + QUSDLTUS   (ou cde CL DLTUSRSPC)
 
                          - CHAR(20) <-*usrspc(10c)-><-biblio(10c)->
                          - CHAR(?)  Code retour
 
        La structure du code retour (commun à toutes les API) est :
 
       ....................................................................
       :  DE  :  A   :Fmt: Signification                                  :
       :..................................................................:
envoyé :  1   :  4   : B : Lg du code retour(=0 -> envoi msg *ESCAPE)    :
------ :      :      :   :                  (>8 -> erreur "monitorée")    :
reçus  :  5   :  8   : B : Lg nécessaire pour recevoir l'erreur           :
  !    :  9   : 15   : C : MSGID                                          :
  !    : 16   : 16   :   : Réservé                                        :
  v    : 17   :  x   : C : MSGDTA (x étant donné par positions 1 à 4)     :
       :.............:...:................................................:


|    Changer de couleur
 
 API USER SPACE V2R30
 
 L'API de création a été modifiée afin de tenir compte de la notion de
  domaine. (intervient au niveau de sécurité 40 et plus)
 
 Tout objet appartient à un domaine
 
    *USER c'est un objet utilisateur
 
          la bibliothèque de création doit faire partie de la liste des
           bibiothèques autorisées à contenir de tels objets, indiquée
           par la valeur système QALWUSRDMN.
           (restriction uniquement pour les *USRSPC, *USRIDX, *USRQ)
 
    *SYSTEM c'est un objet système
 
           Pas de restriction pour la bibliothèque de création
 
           Il n'est accessible que via les API (instructions MI interdites)
            à partir du niveau de sécurité 40.
 


|    Changer de couleur
 
 l'API QUSCRTUS (création d'un user space)
 
       possède un groupe de paramètres supplémentaire (et optionnel)
 
       - CHAR(10)  domaine du user space
                   *DEFAULT = *USER si QALWUSRDMN est renseignée
                              *SYSTEM si QALWUSRDMn est vide
 
                   *SYSTEM
                            le USER SPACE est toujours créé
 
                   *USER
                            le user space est créé si la bibliothéque de
                             destination est indiquée dans QALWUSRDMN.
 
 
 la commande RTVOBJD et les API QUSROBJD QUSLOBJ permettent de savoir
  dans quel domaine se trouve un objet.
 
 
 


|    Changer de couleur
 
 Nouvelle API QUSCUSAT (modification des attributs d'un user space)
 
              - CHAR(10)  nom de la bibliothèque en retour
              - CHAR(20)  user space qualifié
              - CHAR(??)  attribut(s) à modifier
              - CHAR(??)  code erreur
 
 
 La variable attribut(s) à modifier est découpée comme suit:
 
             . BIN(4) nombre d'attributs
 
             . x fois la structure:
                      - BIN(4) clé : 1= modif de la taille
                                     2= valeur initiale
                                     3= extension automatique
 
                      - BIN(4) lg du paramètre nouvelle valeur
 
                      - ?? nouvelle valeur
 


|    Changer de couleur
 
                                 clé 1= BIN(4) nouvelle taille
                                        (si < à la taille actuelle, l'espace
                                          est tronqué, sinon étendu)
                                 clé 2= CHAR(1) valeur intiale à attribuer
                                                aux nouvelles extensions
                                 clé 3= CHAR(1) 1 = extension automatique
                                                0 = non.
 
 
 Nouvelle API QUSRUSAT (extraction des attributs d'un user space)
 
              - CHAR(??)  variable en retour
 
              - BIN(4)    lg de la variable en retour
 
              - CHAR(8)   format = SPCA0100
 
              - CHAR(20)  user space qualifié
 
              - CHAR(??)  code erreur
 


|    Changer de couleur
 Et enfin, pour RPG-IV, L'API permettant d'obtenir le pointeur de début
 
                          + QUSPTRUS 
 
 
                          - CHAR(20) <-*usrspc(10c)-><-biblio(10c)->
                          - CHAR(16) Pointeur
    optionnel
                          - CHAR(?)  Code retour
 
 Vous devez déclarer une variable basée sur pointeur
 
     Dpointeur         s               *
     Dinfosliste       ds                  based(pointeur)
     D  offset_l                     10i 0
     D  taille_l                     10i 0
     D  nbpostes                     10i 0
     D  lgposte                      10i 0
 
 et après le call
     c                   eval      pointeur = pointeur + 124
 





©AF400