source: mainline/contrib/bp/vfs.bp@ 8614534

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 8614534 was 8614534, checked in by Martin Decky <martin@…>, 16 years ago

more protocols
always specify interface on outgoing calls
replace forward messages with the messages themselves

  • Property mode set to 100644
File size: 2.5 KB
Line 
1!ns.IPC_M_CONNECT_TO_ME ;
2(
3 ?IPC_M_CONNECT_ME_TO ;
4 (
5 ?VFS_IN_REGISTER {
6 ?IPC_M_DATA_WRITE ;
7 ?IPC_M_CONNECT_TO_ME ;
8 ?IPC_M_SHARE_IN
9 } +
10
11 ?VFS_IN_MOUNT {
12 ?IPC_M_DATA_WRITE /* mount point */ ;
13 ?IPC_M_DATA_WRITE /* mount options */ ;
14 ?IPC_M_DATA_WRITE /* fs name */ ;
15 ?IPC_M_PING ;
16 (
17
18 !fs.VFS_OUT_MOUNTED ;
19 !fs.IPC_M_DATA_WRITE /* mount options */
20 ) /* root fs */ +
21 (
22 !fs.VFS_OUT_MOUNT ;
23 !fs.IPC_M_CONNECTION_CLONE ;
24 !fs.VFS_M_DATA_WRITE /* mount options */
25 ) /* non-root fs */
26 } +
27
28 ?VFS_IN_OPEN {
29 ?IPC_M_DATA_WRITE /* path */ ;
30 [vfs_lookup_internal] ;
31 (
32 (
33 [vfs_grab_phone] ;
34 !fs.VFS_OUT_TRUNCATE ;
35 [vfs_release_phone]
36 ) +
37 NULL
38 )
39 } +
40
41 ?VFS_IN_OPEN_NODE {
42 [vfs_grab_phone] ;
43 !fs.VFS_OUT_OPEN_NODE ;
44 [vfs_release_phone] ;
45 (
46 (
47 [vfs_grab_phone] ;
48 !fs.VFS_OUT_TRUNCATE ;
49 [vfs_release_phone]
50 ) +
51 NULL
52 NULL
53 )
54 } +
55
56 ?VFS_IN_CLOSE {
57 [vfs_grab_phone] ;
58 !fs.VFS_OUT_CLOSE ;
59 [vfs_release_phone]
60 } +
61
62 ?VFS_IN_READ {
63 ?IPC_M_DATA_READ {
64 [vfs_grab_phone] ;
65 !fs.VFS_OUT_READ /* payload */ ;
66 !fs.IPC_M_DATA_READ /* forwarded */ ;
67 [vfs_release_phone]
68 }
69 } +
70
71 ?VFS_IN_WRITE {
72 ?IPC_M_DATA_WRITE {
73 [vfs_grab_phone] ;
74 !fs.VFS_OUT_WRITE /* payload */ ;
75 !fs.IPC_M_DATA_WRITE /* forwarded */ ;
76 [vfs_release_phone]
77 }
78 } +
79
80 ?VFS_IN_SEEK +
81
82 ?VFS_IN_TRUNCATE {
83 [vfs_grab_phone] ;
84 !fs.VFS_OUT_TRUNCATE ;
85 [vfs_release_phone]
86 } +
87
88 ?VFS_IN_FSTAT {
89 ?IPC_M_DATA_READ /* struct stat */ {
90 [vfs_grab_phone] ;
91 !fs.VFS_OUT_STAT ;
92 !fs.IPC_M_DATA_READ /* forwarded */ ;
93 [vfs_release_phone]
94 }
95 } +
96
97 ?VFS_IN_STAT {
98 ?IPC_M_DATA_WRITE /* path */ ;
99 ?IPC_M_DATA_READ /* struct stat */ {
100 [vfs_lookup_internal] ;
101 !fs.VFS_OUT_STAT ;
102 !fs.IPC_M_DATA_READ /* forwarded */
103 }
104 } +
105
106 ?VFS_IN_MKDIR {
107 ?IPC_M_DATA_WRITE /* path */ ;
108 [vfs_lookup_internal]
109 } +
110
111 ?VFS_IN_UNLINK {
112 ?IPC_M_DATA_WRITE /* path */ ;
113 [vfs_lookup_internal]
114 } +
115
116 ?VFS_IN_RENAME {
117 ?IPC_M_DATA_WRITE /* old path */ ;
118 ?IPC_M_DATE_WRITE /* new path */ ;
119 [vfs_lookup_internal] /* lookup old path */ ;
120 [vfs_lookup_internal] /* lookup parent of new path */ ;
121 [vfs_lookup_internal] /* destroy old link for the new path */ ;
122 [vfs_lookup_internal] /* create new link for the new path */ ;
123 [vfs_lookup_internal] /* destroy link for the old path */
124 } +
125
126 ?VFS_IN_SYNC {
127 !fs.VFS_OUT_SYNC
128 }
129
130 )* ;
131 ?IPC_M_PHONE_HUNGUP
132)*
Note: See TracBrowser for help on using the repository browser.