svrctl.h

Go to the documentation of this file.
00001 /*
00002 sys/svrctl.h
00003 
00004 Created:        Feb 15, 1994 by Philip Homburg <philip@cs.vu.nl>
00005 */
00006 
00007 #ifndef _SYS__SVRCTL_H
00008 #define _SYS__SVRCTL_H
00009 
00010 #ifndef _TYPES_H
00011 #include <sys/types.h>
00012 #endif
00013 
00014 /* Server control commands have the same encoding as the commands for ioctls. */
00015 #include <minix/ioctl.h>
00016 
00017 /* MM controls. */
00018 #define MMSIGNON        _IO ('M',  4)
00019 #define MMSWAPON        _IOW('M',  5, struct mmswapon)
00020 #define MMSWAPOFF       _IO ('M',  6)
00021 #define MMGETPARAM      _IOW('M',  5, struct sysgetenv)
00022 #define MMSETPARAM      _IOR('M',  7, struct sysgetenv)
00023 
00024 /* FS controls. */
00025 #define FSSIGNON        _IOW('F',  2, struct fssignon)
00026 #define FSDEVMAP        _IORW('F', 5, struct fsdevmap)
00027 #define FSDEVUNMAP      _IOW('F',  6, struct fsdevunmap)
00028 
00029 /* Kernel controls. */
00030 #define SYSSENDMASK     _IO ('S',  4)
00031 #define SYSSIGNON       _IOR('S',  2, struct systaskinfo)
00032 #define SYSGETENV       _IOW('S',  1, struct sysgetenv)
00033 
00034 struct mmswapon {
00035         u32_t           offset;         /* Starting offset within file. */
00036         u32_t           size;           /* Size of swap area. */
00037         char            file[128];      /* Name of swap file/device. */
00038 };
00039 
00040 struct svrqueryparam {
00041         char            *param;         /* Names of parameters to query. */
00042         size_t          psize;          /* Length of param[]. */
00043         char            *value;         /* To return values. */
00044         size_t          vsize;
00045 };
00046 
00047 /* A proper system call must be created later. */
00048 #include <minix/dmap.h>
00049 struct fssignon {
00050         dev_t           dev;            /* Device to manage. */
00051         enum dev_style  style;          /* Management style. */
00052 };
00053 
00054 struct fsdevunmap {
00055         dev_t           dev;            /* Device to unmap. */
00056 };
00057 
00058 struct systaskinfo {
00059         int             proc_nr;        /* Process number of caller. */
00060 };
00061 
00062 struct sysgetenv {
00063         char            *key;           /* Name requested. */
00064         size_t          keylen;         /* Length of name including \0. */
00065         char            *val;           /* Buffer for returned data. */
00066         size_t          vallen;         /* Size of return data buffer. */
00067 };
00068 
00069 _PROTOTYPE( int svrctl, (int _request, void *_data)                     );
00070 
00071 #endif /* _SYS__SVRCTL_H */

Generated on Fri Apr 14 22:57:22 2006 for minix by  doxygen 1.4.6