1 -- vim:set ft=lua: 2 3 local L4 = require("L4"); 4 5 local l = L4.default_loader; 6 7 local block_server = l:new_channel(); 8 9 l:startv({ 10 caps = { 11 fsserver = block_server:svr(), 12 }, 13 log = { "blocksvr", "r" }, 14 }, 15 "rom/block_server", "10"); 16 17 local ext2server = l:new_channel(); 18 19 l:startv({ 20 caps = { 21 blockserver = block_server, 22 fsserver = ext2server:svr(), 23 }, 24 log = { "ext2svr", "y" }, 25 }, 26 "rom/ext2_server", "blockserver", "rom/e2test.fs", "10", "fsserver"); 27 28 -- Obtain user filesystems with umask 0022 (18). 29 30 local open_for_user = 6; 31 local ext2server_paulb = L4.cast(L4.Proto.Factory, ext2server):create(open_for_user, 1000, 1000, 18); 32 33 l:startv({ 34 caps = { 35 fsserver = ext2server_paulb, 36 }, 37 log = { "client", "g" }, 38 }, 39 -- program, file to read, user identifier (omitted), repetition 40 "rom/dstest_block_client_simple", "home/paulb/LICENCE.txt", "", "1");