TacOS  0.2
 Tout Structures de données Fichiers Fonctions Variables Définitions de type Énumérations Macros
Macros | Fonctions
Référence du fichier kfcntl.h

Kernel file control operations. Plus de détails...

#include <types.h>
#include <fd_types.h>
#include <kprocess.h>
#include <ksyscall.h>
Graphe des dépendances par inclusion de kfcntl.h:
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :

Aller au code source de ce fichier.

Macros

#define O_ACCMODE   00000003
 
#define O_RDONLY   00000000
 
#define O_WRONLY   00000001
 
#define O_RDWR   00000002
 
#define O_CREAT   00000100
 
#define O_EXCL   00000200 /* not fcntl */
 
#define O_NOCTTY   00000400 /* not fcntl */
 
#define O_TRUNC   00001000
 
#define O_APPEND   00002000
 
#define O_NONBLOCK   00004000
 
#define O_SYNC   00010000
 
#define FASYNC   00020000 /* fcntl, for BSD compatibility */
 
#define O_DIRECT   00040000
 
#define O_DIRECTORY   00200000
 
#define O_NOFOLLOW   00400000
 
#define O_NOATIME   01000000
 
#define O_CLOEXEC   02000000
 
#define F_SETFL   4
 
#define F_GETFL   5
 

Fonctions

void init_stdfd (process_t *new_proc)
 Initialise les descripteurs de fichiers standards. Plus de détails...
 
void close_all_fd ()
 Ferme tous les file descriptors ouverts.
 
 SYSCALL_HANDLER3 (sys_open, int *fd_id, char *path, uint32_t flags)
 
 SYSCALL_HANDLER2 (sys_close, int fd_id, uint32_t *ret)
 
 SYSCALL_HANDLER3 (sys_fcntl, int *fd_id, unsigned int request, void *data)
 

Description détaillée

Auteur
TacOS developers

LICENSE

Copyright (C) 2010, 2011, 2012 - TacOS developers.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details at http://www.gnu.org/copyleft/gpl.html

You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses.

DESCRIPTION

Documentation des macros

#define O_ACCMODE   00000003

Access mode mask.

#define O_APPEND   00002000

Ajoute en fin de fichier.

#define O_CLOEXEC   02000000

set close_on_exec

#define O_CREAT   00000100

Create file if non-existant.

#define O_DIRECT   00040000

direct disk access hint

#define O_DIRECTORY   00200000

must be a directory

#define O_NOFOLLOW   00400000

don't follow links

#define O_NONBLOCK   00004000

Le read ne sera pas bloquant.

#define O_RDONLY   00000000

Open file for read only access.

#define O_RDWR   00000002

Open file for both reading and writing.

#define O_SYNC   00010000

Appel à write bloquant tant que les données ne sont pas écrites physiquement sur le disque.

#define O_TRUNC   00001000

Tronque le fichier à une longueur nulle.

#define O_WRONLY   00000001

Open file for write only access.

Documentation des fonctions

void init_stdfd ( process_t new_proc)

Initialise les descripteurs de fichiers standards.

Paramètres
new_procProcessus à initialiser.

Voici le graphe d'appel pour cette fonction :

SYSCALL_HANDLER2 ( sys_close  ,
int  fd_id,
uint32_t ret 
)

Syscall pour fermer un fichier.

Paramètres
fd_idIdentifiant du descripteur de fichier.
retPointeur pour enregistrer le résultat.

Voici le graphe d'appel pour cette fonction :

SYSCALL_HANDLER3 ( sys_open  ,
int *  fd_id,
char *  path,
uint32_t  flags 
)

Syscall pour ouvrir un fichier.

Paramètres
fd_idPointeur pour enregistrer le resultat.
pathChemin du fichier à ouvrir.
flagsMode d'ouverture.

Voici le graphe d'appel pour cette fonction :

SYSCALL_HANDLER3 ( sys_fcntl  ,
int *  fd_id,
unsigned int  request,
void *  data 
)

Syscall pour la manipulation d'un descripteur de fichier.

Paramètres
fd_iddescripteur du fichier et enregistrement du résultat.
requestaction à faire.
datales arguments nécessaires à l'action.

Voici le graphe d'appel pour cette fonction :