By making m_in job local (i.e., each job has its own copy of m_in instead of refering to the global m_in) we don't have to store and restore m_in on every thread yield. This reduces overhead. Moreover, remove the assumption that m_in is preserved. Do_XXX functions have to copy the system call parameters as soon as possible and only pass those copies to other functions. Furthermore, this patch cleans up some code and uses better types in a lot of places.
36 lines
910 B
C
36 lines
910 B
C
#ifndef __VFS_FS_H__
|
|
#define __VFS_FS_H__
|
|
|
|
/* This is the master header for fs. It includes some other files
|
|
* and defines the principal constants.
|
|
*/
|
|
#define _POSIX_SOURCE 1 /* tell headers to include POSIX stuff */
|
|
#define _MINIX 1 /* tell headers to include MINIX stuff */
|
|
#define _SYSTEM 1 /* tell headers that this is the kernel */
|
|
|
|
/* The following are so basic, all the *.c files get them automatically. */
|
|
#include <minix/config.h> /* MUST be first */
|
|
#include <sys/types.h>
|
|
#include <minix/const.h>
|
|
#include <minix/type.h>
|
|
#include <minix/dmap.h>
|
|
#include <minix/ds.h>
|
|
#include <minix/rs.h>
|
|
|
|
#include <limits.h>
|
|
#include <errno.h>
|
|
#include <unistd.h>
|
|
|
|
#include <minix/syslib.h>
|
|
#include <minix/sysutil.h>
|
|
#include <minix/timers.h>
|
|
|
|
#include "const.h"
|
|
#include "dmap.h"
|
|
#include "proto.h"
|
|
#include "threads.h"
|
|
#include "glo.h"
|
|
#include "comm.h"
|
|
#include "vmnt.h"
|
|
|
|
#endif
|