This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / include / linux / proc_mm.h
1 /* 
2  * Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
3  * Licensed under the GPL
4  */
5
6 #ifndef __PROC_MM_H
7 #define __PROC_MM_H
8
9 #include "linux/sched.h"
10
11 #define MM_MMAP 54
12 #define MM_MUNMAP 55
13 #define MM_MPROTECT 56
14 #define MM_COPY_SEGMENTS 57
15
16 struct mm_mmap {
17         unsigned long addr;
18         unsigned long len;
19         unsigned long prot;
20         unsigned long flags;
21         unsigned long fd;
22         unsigned long offset;
23 };
24
25 struct mm_munmap {
26         unsigned long addr;
27         unsigned long len;      
28 };
29
30 struct mm_mprotect {
31         unsigned long addr;
32         unsigned long len;
33         unsigned int prot;
34 };
35
36 struct proc_mm_op {
37         int op;
38         union {
39                 struct mm_mmap mmap;
40                 struct mm_munmap munmap;
41                 struct mm_mprotect mprotect;
42                 int copy_segments;
43         } u;
44 };
45
46 extern struct mm_struct *proc_mm_get_mm(int fd);
47
48 #endif