minix/include/sys/svrctl.h
Tomas Hruby 0b8e20c89e Changes to the include files in order to make cross-compilation possible.
- The primary reason is that mkfs and installboot need to run natively during
  the cross compilation (host and target versions are compiled). There is a
  collision of include files though. E.g. a.out.h is very minix-specific.
  Therefore some files we moved and replaced by stubs that include the original
  file if compiling on or for Minix :
  
  include/a.out.h -> include/minix/a.out.h
  include/sys/dir.h -> include/minix/dir.h
  include/dirent.h -> include/minix/dirent.h
  include/sys/types.h -> include/minix/types.h

- This does not break any native compilation on Minix. Other headers that were
  including the original files are changed according to include directly the
  new, minix specific location not to pick up the host system includes while
  cross-compiling.

- role of this patch is to make rebasing of the build branch simpler until the
  new build system is merged
2009-11-06 08:46:22 +00:00

70 lines
1.7 KiB
C
Executable file

/*
sys/svrctl.h
Created: Feb 15, 1994 by Philip Homburg <philip@cs.vu.nl>
*/
#ifndef _SYS__SVRCTL_H
#define _SYS__SVRCTL_H
#ifndef _TYPES_H
#include <minix/types.h>
#endif
/* Server control commands have the same encoding as the commands for ioctls. */
#include <minix/ioctl.h>
/* MM controls. */
#define MMSIGNON _IO ('M', 4)
#define MMSWAPON _IOW('M', 5, struct mmswapon)
#define MMSWAPOFF _IO ('M', 6)
#define MMGETPARAM _IOW('M', 5, struct sysgetenv)
#define MMSETPARAM _IOR('M', 7, struct sysgetenv)
/* FS controls. */
#define FSSIGNON _IOW('F', 2, struct fssignon)
#define FSDEVUNMAP _IOW('F', 6, struct fsdevunmap)
/* Kernel controls. */
#define SYSSENDMASK _IO ('S', 4)
#define SYSSIGNON _IOR('S', 2, struct systaskinfo)
#define SYSGETENV _IOW('S', 1, struct sysgetenv)
struct mmswapon {
u32_t offset; /* Starting offset within file. */
u32_t size; /* Size of swap area. */
char file[128]; /* Name of swap file/device. */
};
struct svrqueryparam {
char *param; /* Names of parameters to query. */
size_t psize; /* Length of param[]. */
char *value; /* To return values. */
size_t vsize;
};
/* A proper system call must be created later. */
#include <minix/dmap.h>
struct fssignon {
dev_t dev; /* Device to manage. */
enum dev_style style; /* Management style. */
};
struct fsdevunmap {
dev_t dev; /* Device to unmap. */
};
struct systaskinfo {
int proc_nr; /* Process number of caller. */
};
struct sysgetenv {
char *key; /* Name requested. */
size_t keylen; /* Length of name including \0. */
char *val; /* Buffer for returned data. */
size_t vallen; /* Size of return data buffer. */
};
_PROTOTYPE( int svrctl, (int _request, void *_data) );
#endif /* _SYS__SVRCTL_H */