Changeset 1993f9a in mainline for contrib/arch/uspace/srv/vfs/vfs.bp


Ignore:
Timestamp:
2009-09-15T13:45:23Z (15 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ea5f46d
Parents:
ec8bab59
Message:

update architecture and behavior description
update preprocessor

File:
1 edited

Legend:

Unmodified
Added
Removed
  • contrib/arch/uspace/srv/vfs/vfs.bp

    rec8bab59 r1993f9a  
    1 !ns.IPC_M_CONNECT_TO_ME ;
    2 (
    3         ?vfs.IPC_M_CONNECT_ME_TO ;
    4         (
    5                 ?vfs.VFS_IN_REGISTER {
    6                         ?vfs.IPC_M_DATA_WRITE ;
    7                         ?vfs.IPC_M_CONNECT_TO_ME ;
    8                         ?vfs.IPC_M_SHARE_IN
    9                 } +
    10                
    11                 ?vfs.VFS_IN_MOUNT {
    12                         ?vfs.IPC_M_DATA_WRITE /* mount point */ ;
    13                         ?vfs.IPC_M_DATA_WRITE /* mount options */ ;
    14                         ?vfs.IPC_M_DATA_WRITE /* fs name */ ;
    15                         ?vfs.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.VFS_IN_OPEN {
    29                         ?vfs.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.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                         )
    53                 } +
    54                
    55                 ?vfs.VFS_IN_CLOSE {
    56                         [vfs_grab_phone] ;
    57                         !fs.VFS_OUT_CLOSE ;
    58                         [vfs_release_phone]
    59                 } +
    60                
    61                 ?vfs.VFS_IN_READ {
    62                         ?vfs.IPC_M_DATA_READ {
    63                                 [vfs_grab_phone] ;
    64                                 !fs.VFS_OUT_READ /* payload */ ;
    65                                 !fs.IPC_M_DATA_READ /* forwarded */ ;
    66                                 [vfs_release_phone]
    67                         }
    68                 } +
    69                
    70                 ?vfs.VFS_IN_WRITE {
    71                         ?vfs.IPC_M_DATA_WRITE {
    72                                 [vfs_grab_phone] ;
    73                                 !fs.VFS_OUT_WRITE /* payload */ ;
    74                                 !fs.IPC_M_DATA_WRITE /* forwarded */ ;
    75                                 [vfs_release_phone]
    76                         }
    77                 } +
    78                
    79                 ?vfs.VFS_IN_SEEK +
    80                
    81                 ?vfs.VFS_IN_TRUNCATE {
    82                         [vfs_grab_phone] ;
    83                         !fs.VFS_OUT_TRUNCATE ;
    84                         [vfs_release_phone]
    85                 } +
    86                
    87                 ?vfs.VFS_IN_FSTAT {
    88                         ?vfs.IPC_M_DATA_READ /* struct stat */ {
    89                                 [vfs_grab_phone] ;
    90                                 !fs.VFS_OUT_STAT ;
    91                                 !fs.IPC_M_DATA_READ /* forwarded */ ;
    92                                 [vfs_release_phone]
    93                         }
    94                 } +
    95                
    96                 ?vfs.VFS_IN_STAT {
    97                         ?vfs.IPC_M_DATA_WRITE /* path */ ;
    98                         ?vfs.IPC_M_DATA_READ /* struct stat */ {
    99                                 [vfs_lookup_internal] ;
    100                                 !fs.VFS_OUT_STAT ;
    101                                 !fs.IPC_M_DATA_READ /* forwarded */
    102                         }
    103                 } +
    104                
    105                 ?vfs.VFS_IN_MKDIR {
    106                         ?vfs.IPC_M_DATA_WRITE /* path */ ;
    107                         [vfs_lookup_internal]
    108                 } +
    109                
    110                 ?vfs.VFS_IN_UNLINK {
    111                         ?vfs.IPC_M_DATA_WRITE /* path */ ;
    112                         [vfs_lookup_internal]
    113                 } +
    114                
    115                 ?vfs.VFS_IN_RENAME {
    116                         ?vfs.IPC_M_DATA_WRITE /* old path */ ;
    117                         ?vfs.IPC_M_DATE_WRITE /* new path */ ;
    118                         [vfs_lookup_internal] /* lookup old path */ ;
    119                         [vfs_lookup_internal] /* lookup parent of new path */ ;
    120                         [vfs_lookup_internal] /* destroy old link for the new path */ ;
    121                         [vfs_lookup_internal] /* create new link for the new path */ ;
    122                         [vfs_lookup_internal] /* destroy link for the old path */
    123                 } +
    124                
    125                 ?vfs.VFS_IN_SYNC {
    126                         !fs.VFS_OUT_SYNC
    127                 }
    128                
    129         )* ;
    130         ?vfs.IPC_M_PHONE_HUNGUP
    131 )*
     1!ns.ipc_m_connect_to_me
Note: See TracChangeset for help on using the changeset viewer.