diff --git a/README.org b/README.org index cab95ac..29f6a9f 100644 --- a/README.org +++ b/README.org @@ -6,7 +6,7 @@ # By: tmaze +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2018/10/26 13:33:24 by tmaze #+# #+# # -# Updated: 2018/10/28 17:53:30 by tmaze ### ########.fr # +# Updated: 2018/10/30 09:52:19 by tmaze ### ########.fr # # # # **************************************************************************** # @@ -15,115 +15,11 @@ /Minishell project from Ecole 42/ -* Fonctions authorisées -** =int access(const char *path, int mode)= - =#include = - - permet de vérifier si le fichier désigné par =path= est accessible selon les - permissions indiquées par =mode=. - -*** valeurs possibles de =mode= - | valeur | description | - |--------+-----------------------------------| - | R_OK | fichier lisible ? | - | W_OK | fichier ecrivable ? | - | X_OK | fichier exacutable/recherchable ? | - | F_OK | fichier existe ? | - -*** valeurs de retour - | valeur | description | - |--------+-----------------------------| - | =0= | succès | - | =-1= | erreur (met à jour =errno=) | - -** fonctions de manipulation de =file descriptors= -*** =int open (const char *path, int oflag, ...)= - =#include = - - ouvre le fichier spécifié par =path= en lecture et/ou écriture selon =oflag=. - le =file descriptor= ainsi créé est retourné. -**** l'argument =oflag= - l'argument =oflag= permet de paramétrer le =fd= en liant différents flags - par =or= (=|=). - - | valeur | description | - |--------------+--------------------------------------------| - | =O_RDONLY= | ouvrir le =fd= en leture seule | - | =O_WRONLY= | ouvrir le =fd= en écriture seule | - | =O_RDWR= | ouvrir le =fd= en lecture et écriture | - | =O_APPEND= | commencer l'écriture en fin de fichier | - | =O_CREAT= | créer le fichier si inexistant | - | =O_EXCL= | erreur si O_CREAT | - | =O_NOFOLLOW= | ne pas suivre les liens symboliques | - | =O_SYMLINK= | authorise l'ouverture de liens symboliques | -**** valeurs de retour - En cas de succès, =open= retourne un entier positif désignant un =fd=. - Sinon, la valeur =-1= est retournée et =errno= est modifiée pour indiquer l'erreur. - -*** =int close(int filedes)= - =#include = - - Supprime le descripteur =filedes= correctement. - Bien que si un process quitte, les =file descriptors= associés sont =free='d, - =clean= s'occupe aussi de rendre le =fd= réutilisable, le nombre maximum de - =fd= étant limité. -**** valeurs de retour - | valeur | escription | - |--------+-----------------------------| - | =0= | succès | - | =-1= | erreur (met à jour =errno=) | - -*** =ssize_t read(int filedes, void *buf, size_t nbyte)= - =#include = - =#include = - =#include = - - Essaie de lire =nbyte= de données de l'objet référencé par =filedes= dans le - buffer =buf=. - - Pour les objets capable de recherche, la lecture démarre à la position - indiquée par le pointeur associé à =filedes=. Après le retour de =read=, - ce pointeur est incrémenté du nombre d'octets lu. - - Pour les objets non-capable de recherche, la lecture se fait toujours de la même - position et le pointeur associé à =filedes= est non-défini. - -**** valeurs de retour - | valeur | description | - |--------+-----------------------------| - | =>0= | succès (nb d'octets lus) | - | =0= | succès et fin de fichier | - | =-1= | erreur (met à jour =errno=) | - -*** =ssize_t write(int filedes, const void *buf, size_t nbyte)= - =#include = - - Essaie d'écrire =nbyte= de données sur l'objet référencé par =filedes= depuis le - buffer =buf=. - - Pour les objets capable de recherche, l'écriture démarre à la position - indiquée par le pointeur associé à =filedes=. Après le retour de =write=, - ce pointeur est incrémenté du nombre d'octets écrits. - - Pour les objets non-capable de recherche, l'écriture se fait toujours de la même - position et le pointeur associé à =filedes= est non-défini. - - Si l'utilisateur n'est pas =super-user=, alors =write= supprime le bit =set-user-id= - du fichier. Ceci prévient une faille de sécurité où un utilisateur pourrais "capturer" - un =fd= ouvert sur un ficher appartenant au =super-user= disposant du bit =set-user-id=. - -**** valeurs de retour - | valeur | description | - |--------+-----------------------------| - | =>0= | succès (nb d'octets écrits) | - | =0= | succès et fin de fichier | - | =-1= | erreur (met à jour =errno=) | - * Todo list -** TODO étudier les différents man du sujet [2/10] +** TODO étudier les différents man du sujet [3/10] - [X] access - [X] open, close, read, write - - [ ] getcwd, chdir + - [X] getcwd, chdir - [ ] stat, lstat, fstat - [ ] fork, execve - [ ] wait, waitpid, wait3, wait4