constantes pour API IFS en RPG4

BoTTom |
      * Traduit de QSYSINC/H.FCNTL
      */*******************************************************************/
      */* File Access Modes (type d'ouverture, paramètre oflag)           */
      */*******************************************************************/
      *#define O_RDONLY 00001 /* lecture uniquement */
     D O_RDONLY        S             10I 0  INZ(x'01')
      *#define O_WRONLY 00002 /* écriture uniquement */
     D O_WRONLY        S             10I 0  INZ(x'02')
      *#define O_RDWR 00004 /* Ouveture pour lecture/écriture */
     D O_RDWR          S             10I 0  INZ(x'04')
      *#define O_CREAT 00010 /* Création si le fichier n'existe pas */
     D O_CREATE        S             10I 0  INZ(x'08')
      *#define O_EXCL 00020 /* Erreur si O_CREAT et fichier existe déja */
     D O_EXCL          S             10I 0  INZ(x'10')
      *#define O_TRUNC 00100 /* Mise à blanc lors de l'open             */
     D O_TRUNC         S             10I 0  INZ(x'40')
      */*******************************************************************/
      */* File Status Flags values */
      */*******************************************************************/
      *#define O_CODEPAGE 040000000 /* le 4ème paramètre est un code page */
     D O_CODEPAGE      S             10I 0  INZ(x'800000')
      *#define O_CCSID  E 000000020 /* le 4ème paramètre est un CCSID (1) */
     D O_CODEPAGE      S             10I 0  INZ(x'000020')
      *#define O_TEXTDATA 0100000000 /* le fichier est un fichier texte (2) */
     D O_TEXTDATA      S             10I 0  INZ(x'01000000')
      *#define O_APPEND 00400 /* position à fin de fichier lors de l'open */
     D O_APPEND        S             10I 0  INZ(x'0100')
      *#define O_LARGEFILE 004000000000 /* ouverture d'un fichier large >2Go */
     D O_LARGEFILE     S             10I 0  INZ(x'20000000')
      *#define O_INHERITMODE 001000000000 /* droits hérité du répertoire */
     D O_INHERITMODE   S             10I 0  INZ(x'08000000')
      */*******************************************************************/
      */* File Share Mode Values */
      */*******************************************************************/
      *#define O_SHARE_RDONLY 000000200000 /* partage en lecture */
     D O_SHARE_RDONLY  S             10I 0  INZ(x'010000')
      *#define O_SHARE_WRONLY 000000400000 /* partgae en écriture */
     D O_SHARE_WRONLY  S             10I 0  INZ(x'020000')
      *#define O_SHARE_RDWR 000001000000 /* partage en lecture/écriture */
     D O_SHARE_RDWR    S             10I 0  INZ(x'040000')
      *#define O_SHARE_RDWR 000002000000 /* aucun partage */
     D O_SHARE_NONE    S             10I 0  INZ(x'080000')
      * Traduit de QSYSINC/SYS.STAT
      */*********************************************************************/


|
      */ droits et type de fichier                                          */
      */*********************************************************************/
      * Droits du propriétaire
      * -----------------------
      * #define S_IRUSR 0000400 /* Read for owner */
     D S_IRUSR         S             10I 0  INZ(x'0100')
      * #define S_IWUSR 0000200 /* Write for owner */
     D S_IWUSR         S             10I 0   INZ(x'80')
      * #define S_IXUSR 0000100 /* Execute and Search for owner */
     D S_IXUSR         S             10I 0   INZ(x'40')
      * #define S_IRWXU 0000100 /* les trois précédents */
     D S_IRWXU         S             10I 0   INZ(x'01C0')
      * Droits du groupe
      *-----------------
      * #define S_IRGRP 0000040 /* Read for group */
     D S_IRGRP         S             10I 0   INZ(x'20')
      * #define S_IWGRP 0000020 /* Write for group */
     D S_IWGRP         S             10I 0   INZ(x'10')
      * #define S_IXGRP 0000010 /* Execute and Search for group */
     D S_IXGRP         S             10I 0   INZ(x'08')
      * Droits pour *public
      *-----------------------
      * #define S_IROTH 0000004 /* Read for other */
     D S_IROTH         S             10I 0   INZ(x'04')
      * #define S_IWOTH 0000002 /* Write for other */
     D S_IWOTH         S             10I 0   INZ(x'02')
      * #define S_IXOTH 0000001 /* Execute and Search for other */
     D S_IXOTH         S             10I 0   INZ(x'01')
      * #define S_IRWXO (S_IROTH|S_IWOTH|S_IXOTH) /* RWX for other */
     D S_IRWXO         S             10I 0   INZ(x'07')
      * constante pour fonction lseek
      *------------------------------
      * #define SEEK_SET        /* Offset absolu (position dans le fichier) */
     D SEEK_SET        C                    0
      * #define SEEK_CUR        /* Offset relatif à la position actuelle    */
     D SEEK_CUR        C                    1
      * #define SEEK_END        /* Offset relatif à la fin de fichier       */
     D SEEK_END        C                    2




©AF400