source: mainline/contrib/arch/uspace/srv/vfs/vfs.bp

Last change on this file was f1380b7, checked in by Jiří Zárevúcky <zarevucky.jiri@…>, 7 years ago

style: Remove trailing whitespace on _all_ lines, including empty ones, remaining files.

  • Property mode set to 100644
File size: 3.8 KB
RevLine 
[ea5f46d]1?ipc_m_connect_me_to ;
2(
3 ?register {
4 ?ipc_m_data_write /* fs name */ ;
5 tentative {
6 /* callback connection */
7 ?ipc_m_connect_to_me ;
8 ?ipc_m_share_in
9 }
10 } +
[f1380b7]11
[ea5f46d]12 ?mount {
13 ?ipc_m_data_write /* mount point */ ;
14 tentative {
15 ?ipc_m_data_write /* mount options */ ;
16 tentative {
17 ?ipc_m_data_write /* fs name */ ;
18 tentative {
19 ?ipc_m_ping ;
20 tentative {
21 (
22 /* root fs */
[51d4040]23 alternative (fs; tmpfs; fat; devfs) {
[0a1a313]24 !fs.mounted {
25 !fs.ipc_m_data_write /* mount options */
26 }
[cf7b3e0]27 }
[ea5f46d]28 ) +
29 (
30 /* non-root fs */
31 tentative {
[51d4040]32 alternative (fs; tmpfs; fat; devfs) {
[cf7b3e0]33 [fnc.vfs_lookup_internal] ;
[ea5f46d]34 tentative {
[cf7b3e0]35 [fnc.vfs_grab_phone] ;
36 [fnc.vfs_grab_phone] ;
37 !fs.mount ;
38 !fs.ipc_m_connection_clone ;
39 [fnc.vfs_release_phone] ;
40 tentative {
41 !fs.vfs_m_data_write /* mount options */
42 } ;
43 [fnc.vfs_release_phone]
44 }
[ea5f46d]45 }
46 }
47 )
48 }
49 }
50 }
51 }
52 } +
[f1380b7]53
[ea5f46d]54 ?open {
55 tentative {
56 ?ipc_m_data_write /* path */ ;
57 tentative {
[51d4040]58 alternative (fs; tmpfs; fat; devfs) {
[cf7b3e0]59 [fnc.vfs_lookup_internal] ;
60 tentative {
61 [fnc.vfs_grab_phone] ;
62 !fs.truncate ;
63 [fnc.vfs_release_phone]
64 }
[ea5f46d]65 }
66 }
67 }
68 } +
[f1380b7]69
[ea5f46d]70 ?open_node {
[51d4040]71 alternative (fs; tmpfs; fat; devfs) {
[cf7b3e0]72 [fnc.vfs_open_node_internal] ;
73 tentative {
74 [fnc.vfs_grab_phone] ;
75 !fs.truncate ;
76 [fnc.vfs_release_phone]
77 }
[ea5f46d]78 }
79 } +
[f1380b7]80
[ea5f46d]81 ?close {
82 tentative {
[51d4040]83 alternative (fs; tmpfs; fat; devfs) {
[cf7b3e0]84 [fnc.vfs_grab_phone] ;
85 !fs.close ;
86 [fnc.vfs_release_phone]
87 }
[ea5f46d]88 }
89 } +
[f1380b7]90
[ea5f46d]91 ?read {
92 tentative {
93 ?ipc_m_data_read {
[51d4040]94 alternative (fs; tmpfs; fat; devfs) {
[cf7b3e0]95 [fnc.vfs_grab_phone] ;
[0a1a313]96 !fs.read {
[b988db0]97 !fs.ipc_m_data_read /* forward payload */
[0a1a313]98 } ;
[cf7b3e0]99 [fnc.vfs_release_phone]
100 }
[ea5f46d]101 }
102 }
103 } +
[f1380b7]104
[ea5f46d]105 ?write {
106 tentative {
107 ?ipc_m_data_write {
[51d4040]108 alternative (fs; tmpfs; fat; devfs) {
[cf7b3e0]109 [fnc.vfs_grab_phone] ;
[0a1a313]110 !fs.write {
[b988db0]111 !fs.ipc_m_data_write /* forward payload */
[0a1a313]112 } ;
[cf7b3e0]113 [fnc.vfs_release_phone]
114 }
[ea5f46d]115 }
116 }
117 } +
[f1380b7]118
[ea5f46d]119 ?truncate {
120 tentative {
[51d4040]121 alternative (fs; tmpfs; fat; devfs) {
[cf7b3e0]122 [fnc.vfs_grab_phone] ;
123 !fs.truncate ;
124 [fnc.vfs_release_phone]
125 }
[ea5f46d]126 }
127 } +
[f1380b7]128
[ea5f46d]129 ?fstat {
130 tentative {
[39330200]131 ?ipc_m_data_read /* vfs_stat_t */ {
[51d4040]132 alternative (fs; tmpfs; fat; devfs) {
[cf7b3e0]133 [fnc.vfs_grab_phone] ;
[0a1a313]134 !fs.stat {
[39330200]135 !fs.ipc_m_data_read /* forward vfs_stat_t */
[0a1a313]136 } ;
[cf7b3e0]137 [fnc.vfs_release_phone]
138 }
[ea5f46d]139 }
140 }
141 } +
[f1380b7]142
[ea5f46d]143 ?stat {
144 ?ipc_m_data_write /* path */ ;
145 tentative {
[39330200]146 ?ipc_m_data_read /* vfs_stat_t */ {
[51d4040]147 alternative (fs; tmpfs; fat; devfs) {
[cf7b3e0]148 [fnc.vfs_lookup_internal] ;
149 tentative {
[0a1a313]150 !fs.stat {
[39330200]151 !fs.ipc_m_data_read /* forward vfs_stat_t */
[0a1a313]152 }
[cf7b3e0]153 }
[ea5f46d]154 }
155 }
156 }
157 } +
[f1380b7]158
[ea5f46d]159 ?mkdir {
160 ?ipc_m_data_write /* path */ ;
161 tentative {
[51d4040]162 alternative (fs; tmpfs; fat; devfs) {
[cf7b3e0]163 [fnc.vfs_lookup_internal]
164 }
[ea5f46d]165 }
166 } +
[f1380b7]167
[ea5f46d]168 ?unlink {
169 ?ipc_m_data_write /* path */ ;
170 tentative {
[51d4040]171 alternative (fs; tmpfs; fat; devfs) {
[cf7b3e0]172 [fnc.vfs_lookup_internal]
173 }
[ea5f46d]174 }
175 } +
[f1380b7]176
[ea5f46d]177 ?rename {
178 ?ipc_m_data_write /* old path */ ;
179 tentative {
180 ?ipc_m_data_write /* new path */ ;
181 tentative {
[51d4040]182 alternative (fs; tmpfs; fat; devfs) {
[cf7b3e0]183 [fnc.vfs_lookup_internal] /* lookup old path */ ;
[ea5f46d]184 tentative {
[cf7b3e0]185 [fnc.vfs_lookup_internal] /* lookup parent of new path */ ;
[ea5f46d]186 tentative {
[cf7b3e0]187 [fnc.vfs_lookup_internal] /* destroy old link for the new path */ ;
[ea5f46d]188 tentative {
[cf7b3e0]189 [fnc.vfs_lookup_internal] /* create new link for the new path */ ;
190 tentative {
191 [fnc.vfs_lookup_internal] /* destroy link for the old path */
192 }
[ea5f46d]193 }
194 }
195 }
196 }
197 }
198 }
199 } +
[f1380b7]200
[ea5f46d]201 ?sync {
202 tentative {
[51d4040]203 alternative (fs; tmpfs; fat; devfs) {
[cf7b3e0]204 !fs.sync
205 }
[ea5f46d]206 }
207 } +
[f1380b7]208
[ea5f46d]209 ?seek
[f1380b7]210
[ea5f46d]211)* ;
[0e8ad0b]212?ipc_m_phone_hungup
Note: See TracBrowser for help on using the repository browser.