8#include <manux/string.h>
10#include <manux/errno.h>
20int fichierLire(
Fichier * f,
void * buffer,
int nbOctets)
51#ifdef MANUX_APPELS_SYSTEME
80int sys_ecrire(
ParametreAS as,
int fd,
void * buffer,
int nbOctets)
104int sys_lire(
ParametreAS as,
int fd,
void * buffer,
int nbOctets)
121 result = fichierLire(f, buffer, nbOctets);
131#ifdef MANUX_APPELS_SYSTEME
196 if (result ==
NULL) {
int fichierFermer(Fichier *f)
Fermeture d'un fichier.
int fichierOuvrir(INoeud *iNoeud, Fichier *f, uint16_t fanions, uint16_t mode)
: Ouverture d'un fichier.
int fichierEcrire(Fichier *f, void *buffer, int nbOctets)
#define O_RDONLY
Les différents fanions.
int definirAppelSysteme(int num, void *appel)
typedef void(Handler(void))
void bcopy(const void *src, void *dest, int n)
void * kmalloc(size_t n)
Allocation d'une zone de n octets.
void kfree(void *p)
Libération d'une zone mémoire allouée.
#define paniqueNoyau(fmt, args...)
#define printk_debug(lvl, fmt, args...)
Tache * tacheEnCours
: L'identification de la tâche en cours
: Qu'est-ce qu'un fichier ouvert du point de vue du noyau ?
INoeud * iNoeud
Caractérisation de la structure.
uint16_t fanions
O_RDONLY, O_NONBLOCK, O_SYNC.
uint16_t mode
FMODE_READ, FMODE_WRITE, ... pour création.
: Un INoeud représente un fichier, d'un point de vue statique Il s'agit donc de la description d'un f...
MethodesFichier * methodesFichier
int(* fermer)(Fichier *f)
int(* ouvrir)(INoeud *iNoeud, Fichier *f, uint16_t fanions, uint16_t mode)
size_t(* lire)(Fichier *f, void *buffer, size_t nbOctets)
size_t(* ecrire)(Fichier *f, void *buffer, size_t nbOctets)