- Timestamp:
- 2018-03-02T20:21:57Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 34e1206
- Parents:
- a35b458
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-02-28 17:51:04)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-02 20:21:57)
- Location:
- contrib
- Files:
-
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
contrib/arch/HelenOS.adl
ra35b458 rf1380b7 2 2 /* SPARTAN kernel */ 3 3 inst kernel kernel; 4 4 5 5 /* Naming Service */ 6 6 inst ns ns; 7 7 8 8 /* Loader (clonable service) */ 9 9 inst loader loader; 10 10 11 11 /* Device mapper */ 12 12 inst devmap devmap; 13 13 14 14 /* Block device */ 15 15 inst bd bd; 16 16 17 17 /* VFS server */ 18 18 inst vfs vfs; 19 19 20 20 /* Console */ 21 21 inst console console; 22 22 23 23 /* Kernel log */ 24 24 inst kio kio; 25 25 26 26 [/uspace/lib/libc/bind%ns] 27 27 [/uspace/lib/libc/bind%loader] … … 31 31 [/uspace/lib/libc/bind%console] 32 32 [/uspace/lib/libc/bind%kio] 33 33 34 34 bind ns:kbd to console:kbd; 35 35 bind ns:fb to console:fb; … … 39 39 bind ns:devmap_client to devmap:devmap_client; 40 40 bind ns:loader to loader:loader; 41 41 42 42 bind loader:ns to ns:ns; 43 43 44 44 bind devmap:ns to ns:ns; 45 45 bind devmap:rd to bd:rd; 46 46 bind devmap:console to console:console; 47 47 48 48 bind bd:ns to ns:ns; 49 49 bind bd:devmap_driver to devmap:devmap_driver; 50 50 51 51 bind vfs:ns to ns:ns; 52 52 bind vfs:rd to bd:rd; 53 53 bind vfs:devmap_client to devmap:devmap_client; 54 54 bind vfs:device to console:console; 55 55 56 56 bind console:ns to ns:ns; 57 57 bind console:devmap_driver to devmap:devmap_driver; 58 58 bind console:sys_console to kernel:sys_console; 59 59 60 60 bind kio:ns to ns:ns; 61 61 }; -
contrib/arch/kernel/kernel.adl
ra35b458 rf1380b7 13 13 /* Enable kernel console */ 14 14 sysarg_t sys_debug_enable_console(void); 15 15 16 16 /* Disable kernel console */ 17 17 sysarg_t sys_debug_disable_console(void); … … 26 26 /* Create new thread */ 27 27 sysarg_t sys_thread_create(uspace_arg_t *uspace_uarg, char *uspace_name, size_t name_len, thread_id_t *uspace_thread_id); 28 28 29 29 /* Terminate current thread */ 30 30 sysarg_t sys_thread_exit(int uspace_status); 31 31 32 32 /* Get current thread id */ 33 33 sysarg_t sys_thread_get_id(thread_id_t *uspace_thread_id); … … 43 43 /* Set name fo the current task */ 44 44 sysarg_t sys_task_set_name(const char *uspace_name, size_t name_len); 45 45 46 46 /* Get current task id */ 47 47 sysarg_t sys_task_get_id(task_id_t *uspace_task_id); … … 63 63 /* Sleep in a futex wait queue */ 64 64 sysarg_t sys_futex_sleep_timeout(uintptr_t uaddr, uint32_t usec, int flags); 65 65 66 66 /* Wakeup one thread waiting in futex wait queue */ 67 67 sysarg_t sys_futex_wakeup(uintptr_t uaddr); … … 83 83 /* Create new address space area */ 84 84 sysarg_t sys_as_area_create(uintptr_t address, size_t size, int flags); 85 85 86 86 /* Resize an address space area */ 87 87 sysarg_t sys_as_area_resize(uinptr_t address, size_t size, int flags); 88 88 89 89 /* Change flags of an address space area */ 90 90 sysarg_t sys_as_area_change_flags(uintptr_t address, int flags); 91 91 92 92 /* Destroy an address space area */ 93 93 sysarg_t sys_as_area_destroy(uintptr_t address); … … 104 104 /* Fast synchronous IPC call */ 105 105 sysarg_t sys_ipc_call_sync_fast(sysarg_t phoneid, sysarg_t method, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, ipc_data_t *data); 106 106 107 107 /* Slow synchronous IPC call */ 108 108 sysarg_t sys_ipc_call_sync_slow(sysarg_t phoneid, ipc_data_t *question, ipc_data_t *answer); 109 109 110 110 /* Fast asynchronous IPC call */ 111 111 sysarg_t sys_ipc_call_async_fast(sysarg_t phoneid, sysarg_t method, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4); 112 112 113 113 /* Slow asynchronous IPC call */ 114 114 sysarg_t sys_ipc_call_async_slow(sysarg_t phoneid, ipc_data_t *data); 115 115 116 116 /* Fast forward a received IPC call to another destination */ 117 117 sysarg_t sys_ipc_forward_fast(sysarg_t callid, sysarg_t phoneid, sysarg_t method, sysarg_t arg1, sysarg_t arg2, int mode); 118 118 119 119 /* Slow forward a received IPC call to another destination */ 120 120 sysarg_t sys_ipc_forward_slow(sysarg_t callid, sysarg_t phoneid, ipc_data_t *data, int mode); 121 121 122 122 /* Fast answer an IPC call */ 123 123 sysarg_t sys_ipc_answer_fast(sysarg_t callid, sysarg_t retval, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4); 124 124 125 125 /* Slow answer an IPC call */ 126 126 sysarg_t sys_ipc_answer_slow(sysarg_t callid, ipc_data_t *data); 127 127 128 128 /* Hang up a phone */ 129 129 sysarg_t sys_ipc_hangup(int phoneid); 130 130 131 131 /* Wait for an incoming IPC call or answer */ 132 132 sysarg_t sys_ipc_wait_for_call(ipc_data_t *calldata, uint32_t usec, int flags); 133 133 134 134 /* Interrupt one thread of the current task from waiting on IPC call */ 135 135 sysarg_t sys_ipc_poke(void); … … 162 162 sysarg_t sys_cap_grant(sysarg64_t *uspace_taskid, cap_t caps); 163 163 #endif 164 164 165 165 #ifdef __64_BITS__ 166 166 sysarg_t sys_cap_grant(sysarg_t taskid, cap_t caps); 167 167 #endif 168 168 169 169 /* Revoke capabilities from a task */ 170 170 #ifdef __32_BITS__ 171 171 sysarg_t sys_cap_revoke(sysarg64_t *uspace_taskid, cap_t caps); 172 172 #endif 173 173 174 174 #ifdef __64_BITS__ 175 175 sysarg_t sys_cap_revoke(sysarg_t taskid, cap_t caps); … … 185 185 /* Enable access I/O address space for the current task */ 186 186 sysarg_t sys_enable_iospace(ddi_ioarg_t *uspace_io_arg); 187 187 188 188 /* Map physical memory to the current task's address space */ 189 189 sysarg_t sys_physmem_map(sysarg_t phys_base, sysarg_t virt_base, sysarg_t pages, sysarg_t flags); 190 190 191 191 /* Enable or disable preemption */ 192 192 sysarg_t sys_preempt_control(int enable); 193 193 194 194 /* Assign unique device number */ 195 195 sysarg_t sys_device_assign_devno(void); 196 196 197 197 /* Connect an IRQ handler to the current task */ 198 198 sysarg_t sys_register_irq(inr_t inr, devno_t devno, sysarg_t method, irq_code_t *ucode); 199 199 200 200 /* Disconnect an IRQ handler from the current task */ 201 201 sysarg_t sys_unregister_irq(inr_t inr, devno_t devno); … … 214 214 /* Check for sysinfo key validity */ 215 215 sysarg_t sys_sysinfo_valid(sysarg_t ptr, sysarg_t len); 216 216 217 217 /* Get sysinfo key value */ 218 218 sysarg_t sys_sysinfo_value(unatice_t ptr, sysarg_t len); … … 229 229 sysarg_t sys_ipc_connect_kbox(sysarg64_t *uspace_taskid); 230 230 #endif 231 231 232 232 #ifdef __64_BITS__ 233 233 sysarg_t sys_ipc_connect_kbox(sysarg_t taskid); … … 308 308 inst sys_sysinfo sys_sysinfo; 309 309 inst sys_debug sys_debug; 310 310 311 311 delegate sys_kio to sys_console:sys_kio; 312 312 delegate sys_console to sys_console:sys_console; -
contrib/arch/uspace/srv/bd/bd.adl
ra35b458 rf1380b7 2 2 /* Share out data buffer */ 3 3 sysarg_t ipc_m_share_out(in sysarg_t as_area_base, in sysarg_t as_area_size, in sysarg_t flags, out sysarg_t dst_as_area_base); 4 4 5 5 /* Get block size */ 6 6 sysarg_t get_block_size(out sysarg_t block_size); 7 7 8 8 /* Read blocks via shared data buffer */ 9 9 sysarg_t read_blocks(in sysarg_t index_lower, in sysarg_t index_upper, in sysarg_t count); 10 10 11 11 /* Write blocks via shared data buffer */ 12 12 sysarg_t write_blocks(in sysarg_t index_lower, in sysarg_t index_upper, in sysarg_t count); … … 17 17 architecture bd { 18 18 inst rd rd; 19 19 20 20 [/uspace/lib/libc/subsume%rd] 21 21 22 22 delegate rd to rd:rd; 23 23 24 24 subsume rd:ns to ns; 25 25 subsume rd:devmap_driver to devmap_driver; -
contrib/arch/uspace/srv/console/console.adl
ra35b458 rf1380b7 2 2 /* Read characters from console */ 3 3 sysarg_t read(out_copy stream data); 4 4 5 5 /* Write characters to console */ 6 6 sysarg_t write(in_copy stream data); 7 7 8 8 /* Get last event from event queue */ 9 9 sysarg_t get_event(out sysarg_t type, out sysarg_t key, out sysarg_t mods, out sysarg_t char); 10 10 11 11 /* Flush output buffer */ 12 12 sysarg_t sync(void); 13 13 14 14 /* Clear console */ 15 15 sysarg_t clear(void); 16 16 17 17 /* Move cursor to given position */ 18 18 sysarg_t goto(in sysarg_t col, in sysarg_t row); 19 19 20 20 /* Get console dimensions (in character cells) */ 21 21 sysarg_t get_size(out sysarg_t cols, in sysarg_t rows); 22 22 23 23 /* Get color capabilities */ 24 24 sysarg_t get_color_cap(void); 25 25 26 26 /* Set abstract text style */ 27 27 sysarg_t set_style(in sysarg_t style); 28 28 29 29 /* Set EGA-based text color */ 30 30 sysarg_t set_color(in sysarg_t fb_color, in sysarg_t bg_color, in sysarg_t attr); 31 31 32 32 /* Set RGB-based text color */ 33 33 sysarg_t set_rgb_color(in sysarg_t fb_color, in sysarg_t bg_color); 34 34 35 35 /* Set cursor visibility */ 36 36 sysarg_t cursor_visibility(in sysarg_t visible); 37 37 38 38 /* Switch to kernel debugging console (if available) */ 39 39 sysarg_t kcon_enable(void); … … 85 85 inst kbd kbd; 86 86 inst fb fb; 87 87 88 88 bind ui_dispatcher:kbd to kbd:kbd; 89 89 bind ui_dispatcher:fb to fb:fb; 90 90 91 91 bind kbd:event to ui_dispatcher:event; 92 92 93 93 delegate console to ui_dispatcher:console; 94 94 delegate kbd to kbd:kbd; 95 95 delegate fb to fb:fb; 96 96 97 97 [/uspace/lib/libc/subsume%ui_dispatcher] 98 98 [/uspace/lib/libc/subsume%kbd] 99 99 [/uspace/lib/libc/subsume%fb] 100 100 101 101 subsume ui_dispatcher:ns to ns; 102 102 subsume ui_dispatcher:devmap_driver to devmap_driver; 103 103 subsume ui_dispatcher:sys_console to sys_console; 104 104 105 105 subsume kbd:ns to ns; 106 106 subsume fb:ns to ns; -
contrib/arch/uspace/srv/console/console.bp
ra35b458 rf1380b7 5 5 [fnc.cons_read] 6 6 } + 7 7 8 8 ?write { 9 9 [fnc.cons_write] 10 10 } + 11 11 12 12 ?sync { 13 13 [fnc.fb_pending_flush] ; … … 17 17 } 18 18 } + 19 19 20 20 ?clear { 21 21 tentative { … … 23 23 } 24 24 } + 25 25 26 26 ?goto { 27 27 tentative { … … 29 29 } 30 30 } + 31 31 32 32 ?set_style { 33 33 [fnc.fb_pending_flush] ; … … 36 36 } 37 37 } + 38 38 39 39 ?set_color { 40 40 [fnc.fb_pending_flush] ; … … 43 43 } 44 44 } + 45 45 46 46 ?set_rgb_color { 47 47 [fnc.fb_pending_flush] ; … … 50 50 } 51 51 } + 52 52 53 53 ?cursor_visibility { 54 54 [fnc.fb_pending_flush] ; … … 57 57 } 58 58 } + 59 59 60 60 ?kcon_enable { 61 61 !sys_console.sys_debug_enable_console 62 62 } + 63 63 64 64 ?get_event + 65 65 ?get_size + -
contrib/arch/uspace/srv/devmap/devmap.adl
ra35b458 rf1380b7 2 2 /* Establish connection (iface is DEVMAP_DRIVER) */ 3 3 sysarg_t ipc_m_connect_me_to(in sysarg_t iface); 4 4 5 5 /* Register as a new driver */ 6 6 sysarg_t driver_register(in_copy string name); 7 7 8 8 /* Unregister all devices and the driver itself */ 9 9 sysarg_t driver_unregister(void); 10 10 11 11 /* Register new device and return handle */ 12 12 sysarg_t device_register(in_copy string name, out sysarg_t handle); 13 13 14 14 /* Unregister device */ 15 15 sysarg_t device_unregister(in sysarg_t handle); 16 16 17 17 /* Resolve device name to handle */ 18 18 sysarg_t device_get_handle(in sysarg_t flags, in_copy string name); 19 19 20 20 /* Get device name for a given handle */ 21 21 sysarg_t device_get_name(in sysarg_t handle); 22 22 23 23 /* Close connection */ 24 24 sysarg_t ipc_m_phone_hungup(void); … … 30 30 /* Establish connection (iface is DEVMAP_CLIENT) or forward to device (iface is DEVMAP_CONNECT_TO_DEVICE) */ 31 31 sysarg_t ipc_m_connect_me_to(in sysarg_t iface, in sysarg_t handle); 32 32 33 33 /* Resolve device name to handle */ 34 34 sysarg_t device_get_handle(in sysarg_t flags, in_copy string name); 35 35 36 36 /* Get device name for a given handle */ 37 37 sysarg_t device_get_name(in sysarg_t handle); 38 38 39 39 /* Clone NULL device */ 40 40 sysarg_t device_null_create(out sysarg_t index); 41 41 42 42 /* Destroy NULL device */ 43 43 sysarg_t device_null_destroy(in sysarg_t index); 44 44 45 45 /* Get number of devices */ 46 46 sysarg_t device_get_count(out sysarg_t count); 47 47 48 48 /* Get an array of (device_name, handle) pairs */ 49 49 sysarg_t device_get_devices(out_copy stream data); 50 50 51 51 /* Close connection */ 52 52 sysarg_t ipc_m_phone_hungup(void); 53 53 protocol: 54 54 [devmap_client.bp] 55 55 56 56 }; 57 57 -
contrib/arch/uspace/srv/devmap/devmap_client.bp
ra35b458 rf1380b7 10 10 ?ipc_m_data_write /* device name */ 11 11 } + 12 12 13 13 ?device_get_name + 14 14 ?device_null_create + 15 15 ?device_null_destroy + 16 16 ?device_get_count + 17 17 18 18 ?device_get_devices { 19 19 ?ipc_m_data_read /* buffer */ -
contrib/arch/uspace/srv/devmap/devmap_driver.bp
ra35b458 rf1380b7 14 14 } 15 15 } + 16 16 17 17 ?device_get_handle { 18 18 ?ipc_m_data_write /* device name */ 19 19 } + 20 20 21 21 ?device_get_name + 22 22 ?device_unregister + -
contrib/arch/uspace/srv/fb/fb.adl
ra35b458 rf1380b7 2 2 /* Get screen resolution */ 3 3 sysarg_t get_resolution(out sysarg_t width, out sysarg_t height); 4 4 5 5 /* Yield screen */ 6 6 sysarg_t screen_yield(void); 7 7 8 8 /* Reclaim screen */ 9 9 sysarg_t screen_reclaim(void); 10 10 11 11 /* Set mouse cursor position on screen */ 12 12 sysarg_t pointer_move(in sysarg_t x, in sysarg_t y); 13 13 14 14 /* Create new viewport */ 15 15 sysarg_t viewport_create(in sysarg_t origin, in sysarg_t dimension); 16 16 17 17 /* Get viewport size in character cells */ 18 18 sysarg_t get_csize(out sysarg_t width, out sysarg_t height); 19 19 20 20 /* Clear viewport character buffer */ 21 21 sysarg_t clear(void); 22 22 23 23 /* Scroll viewport character buffer */ 24 24 sysarg_t scroll(in sysarg_t lines); 25 25 26 26 /* Set active viewport */ 27 27 sysarg_t viewport_switch(in sysarg_t index); 28 28 29 29 /* Delete viewport */ 30 30 sysarg_t viewport_delete(in sysarg_t index); 31 31 32 32 /* Get color capabilities of the screen */ 33 33 sysarg_t get_color_cap(void); 34 34 35 35 /* Set abstract text style */ 36 36 sysarg_t set_style(in sysarg_t style); 37 37 38 38 /* Set EGA-based text color */ 39 39 sysarg_t set_color(in sysarg_t fg_color, in sysarg_t bg_color, in sysarg_t atrr); 40 40 41 41 /* Set RGB-based text color */ 42 42 sysarg_t set_rgb_color(in sysarg_t fg_color, in sysarg_t bg_color); 43 43 44 44 /* Put a character to a given position in viewport character buffer */ 45 45 sysarg_t putchar(in sysarg_t char, in sysarg_t col, in sysarg_t row); 46 46 47 47 /* Set character cursor visibility in viewport */ 48 48 sysarg_t cursor_visibility(in sysarg_t visible); 49 49 50 50 /* Set character cursor position in viewport */ 51 51 sysarg_t cursor_goto(in sysarg_t col, in sysarg_t row); 52 52 53 53 /* Prepare memory sharing of bitmaps */ 54 54 sysarg_t prepare_shm(in sysarg_t as_area_base); 55 55 56 56 /* Share bitmap or text data */ 57 57 sysarg_t ipc_m_share_out(in sysarg_t as_area_base, in sysarg_t as_area_size, out sysarg_t dst_as_area); 58 58 59 59 /* Drop memory sharing */ 60 60 sysarg_t drop_shm(void); 61 61 62 62 /* Draw PPM data from shared memory to viewport */ 63 63 sysarg_t draw_ppm(in sysarg_t x, in sysarg_t y); 64 64 65 65 /* Put characters from shared memory to viewport */ 66 66 sysarg_t draw_text_data(in sysarg_t x, in sysarg_t y, in sysarg_t width, in sysarg_t height); 67 67 68 68 /* Convert PPM data from shared memory to pixmap */ 69 69 sysarg_t shm2pixmap(void); 70 70 71 71 /* Save viewport contents to a pixmap */ 72 72 sysarg_t vp2pixmap(in sysarg_t vp_index); 73 73 74 74 /* Draw pixmap to viewport */ 75 75 sysarg_t vp_draw_pixmap(in sysarg_t vp_index, in sysarg_t pm_index); 76 76 77 77 /* Discard pixmap */ 78 78 sysarg_t drop_pixmap(in sysarg_t pm_index); 79 79 80 80 /* Create new (empty) animation for a viewport */ 81 81 sysarg_t anim_create(in sysarg_t vp_index); 82 82 83 83 /* Append a pixmap to an animation */ 84 84 sysarg_t anim_addpixmap(in sysarg_t anim_index, in sysarg_t pm_index); 85 85 86 86 /* Change a viewport associated with an animation */ 87 87 sysarg_t anim_chgvp(in sysarg_t anim_index, in sysarg_t vp_index); 88 88 89 89 /* Start animation playback */ 90 90 sysarg_t anim_start(in sysarg_t anim_index); 91 91 92 92 /* Stop animation playback */ 93 93 sysarg_t anim_stop(in sysarg_t anim_index); 94 94 95 95 /* Delete animation */ 96 96 sysarg_t anim_drop(in sysarg_t anim_index); -
contrib/arch/uspace/srv/fs/devfs/devfs.bp
ra35b458 rf1380b7 5 5 ?ipc_m_data_write /* mount options */ 6 6 } + 7 7 8 8 ?lookup { 9 9 tentative { … … 14 14 } 15 15 } + 16 16 17 17 ?open_node { 18 18 tentative { … … 20 20 } 21 21 } + 22 22 23 23 ?read { 24 24 tentative { … … 34 34 } 35 35 } + 36 36 37 37 ?write { 38 38 tentative { … … 44 44 } 45 45 } + 46 46 47 47 ?stat { 48 48 ?ipc_m_data_read /* struct data */ 49 49 } + 50 50 51 51 ?close { 52 52 !device.ipc_m_phone_hungup 53 53 } + 54 54 55 55 ?mount + 56 56 ?truncate + -
contrib/arch/uspace/srv/fs/fat/fat.bp
ra35b458 rf1380b7 10 10 } 11 11 } + 12 12 13 13 ?mount { 14 14 [/uspace/lib/libfs/fnc.libfs_mount] 15 15 } + 16 16 17 17 ?lookup { 18 18 [/uspace/lib/libfs/fnc.libfs_lookup] 19 19 } + 20 20 21 21 ?open_node { 22 22 [/uspace/lib/libfs/fnc.libfs_open_node] 23 23 } + 24 24 25 25 ?read { 26 26 tentative { … … 28 28 } 29 29 } + 30 30 31 31 ?write { 32 32 tentative { … … 34 34 } 35 35 } + 36 36 37 37 ?stat { 38 38 [/uspace/lib/libfs/fnc.libfs_stat] 39 39 } + 40 40 41 41 ?truncate + 42 42 ?close + -
contrib/arch/uspace/srv/fs/tmpfs/tmpfs.bp
ra35b458 rf1380b7 8 8 } 9 9 } + 10 10 11 11 ?mount { 12 12 [/uspace/lib/libfs/fnc.libfs_mount] 13 13 } + 14 14 15 15 ?lookup { 16 16 [/uspace/lib/libfs/fnc.libfs_lookup] 17 17 } + 18 18 19 19 ?open_node { 20 20 [/uspace/lib/libfs/fnc.libfs_open_node] 21 21 } + 22 22 23 23 ?read { 24 24 tentative { … … 26 26 } 27 27 } + 28 28 29 29 ?write { 30 30 tentative { … … 32 32 } 33 33 } + 34 34 35 35 ?stat { 36 36 [/uspace/lib/libfs/fnc.libfs_stat] 37 37 } + 38 38 39 39 ?truncate + 40 40 ?close + -
contrib/arch/uspace/srv/kbd/kbd.adl
ra35b458 rf1380b7 2 2 /* Callback connection */ 3 3 sysarg_t ipc_m_connect_to_me(void); 4 4 5 5 /* Yield hardware */ 6 6 sysarg_t yield(void); 7 7 8 8 /* Reclaim hardware */ 9 9 sysarg_t reclaim(void); -
contrib/arch/uspace/srv/loader/loader.adl
ra35b458 rf1380b7 2 2 /* Set task pathname */ 3 3 sysarg_t set_pathname(in_copy string pathname); 4 4 5 5 /* Set task arguments */ 6 6 sysarg_t set_args(in_copy stream args); 7 7 8 8 /* Set task initial files */ 9 9 sysarg_t set_files(in_copy stream files); 10 10 11 11 /* Get task ID */ 12 12 sysarg_t get_taskid(out_copy stream id); 13 13 14 14 /* Load binary */ 15 15 sysarg_t load(void); 16 16 17 17 /* Run binary */ 18 18 sysarg_t run(void); -
contrib/arch/uspace/srv/loader/loader.bp
ra35b458 rf1380b7 3 3 ?ipc_m_data_read /* task ID */ 4 4 } + 5 5 6 6 ?set_pathname { 7 7 ?ipc_m_data_write /* pathname */ 8 8 } + 9 9 10 10 ?set_args { 11 11 ?ipc_m_data_write /* arguments */ 12 12 } + 13 13 14 14 ?set_files { 15 15 ?ipc_m_data_write /* files */ 16 16 } + 17 17 18 18 ?load 19 19 )* ; -
contrib/arch/uspace/srv/ns/ns.adl
ra35b458 rf1380b7 2 2 /* Register a clonable service or a generic service */ 3 3 sysarg_t ipc_m_connect_to_me(in sysarg_t service); 4 4 5 5 /* Connect to a clonable service or a generic service */ 6 6 sysarg_t ipc_m_connect_me_to(in sysarg_t service, in sysarg_t arg2, in sysarg_t arg3, in sysarg_t flags); 7 7 8 8 /* Share real-time clock page or kio page */ 9 9 sysarg_t ipc_m_share_in(in sysarg_t as_area_base, in sysarg_t as_area_size, in sysarg_t service); 10 10 11 11 /* For IPC testing purposes */ 12 12 sysarg_t ping(void); 13 13 14 14 /* Wait for task exit and get exit status and return value */ 15 15 sysarg_t task_wait(in sysarg_t id_lower, in sysarg_t id_upper, out sysarg_t status, out sysarg_t retval); 16 16 17 17 /* Introduce a new loader task id in such a way it cannot be spoofed */ 18 18 sysarg_t id_intro(in sysarg_t id_lower, in sysarg_t id_upper); 19 19 20 20 /* Set task return value */ 21 21 sysarg_t retval(in sysarg_t retval); 22 22 23 23 /* Implicit connection close */ 24 24 sysarg_t ipc_m_phone_hungup(void); -
contrib/arch/uspace/srv/ns/ns.bp
ra35b458 rf1380b7 8 8 } 9 9 } + 10 10 11 11 ?ipc_m_connect_me_to { 12 12 tentative { … … 16 16 } 17 17 } + 18 18 19 19 ?ipc_m_share_in + 20 20 ?ping + -
contrib/arch/uspace/srv/ns/service.adl
ra35b458 rf1380b7 3 3 (this call is forwarded from Naming Service or Device Mapper) */ 4 4 sysarg_t ipc_m_connect_me_to(void); 5 5 6 6 /* Close connection */ 7 7 sysarg_t ipc_m_phone_hungup(void); -
contrib/arch/uspace/srv/vfs/vfs.adl
ra35b458 rf1380b7 2 2 /* Register a filesystem driver */ 3 3 sysarg_t register(in_copy string name); 4 4 5 5 /* Mount filesystem */ 6 6 sysarg_t mount(in sysarg_t device, in sysarg_t flags, in sysarg_t instance, in_copy string point, in_copy string opts, in_copy string fs); 7 7 8 8 /* Open file */ 9 9 sysarg_t open(in sysarg_t lflag, in sysarg_t oflag, in sysarg_t mode, in_copy string path, out sysarg_t fd); 10 10 11 11 /* Open file using node */ 12 12 sysarg_t open_node(in sysarg_t fs_handle, in sysarg_t dev_handle, in sysarg_t index, in sysarg_t oflag, out sysarg_t fd); 13 13 14 14 /* Read data from file */ 15 15 sysarg_t read(in sysarg_t fd, out_copy stream data); 16 16 17 17 /* Write data to file */ 18 18 sysarg_t write(in sysarg_t fd, in_copy stream data); 19 19 20 20 /* Seek in file */ 21 21 sysarg_t seek(in sysarg_t fd, in sysarg_t offset, in sysarg_t whence); 22 22 23 23 /* Truncate file */ 24 24 sysarg_t truncate(in sysarg_t fd, in sysarg_t size); 25 25 26 26 /* Get file metadata */ 27 27 sysarg_t fstat(in sysarg_t fd, out_copy stream stat); 28 28 29 29 /* Get directory entry metadata */ 30 30 sysarg_t stat(in_copy string path, out_copy stream stat); 31 31 32 32 /* Create directory */ 33 33 sysarg_t mkdir(in sysarg_t mode, in_copy string path); 34 34 35 35 /* Delete directory entry */ 36 36 sysarg_t unlink(in sysarg_t lflag, in_copy string path); 37 37 38 38 /* Rename directory entry */ 39 39 sysarg_t rename(in_copy string old, in_copy string new); 40 40 41 41 /* Flush file buffers */ 42 42 sysarg_t sync(in sysarg_t fd); 43 43 44 44 /* In-protocol status value */ 45 45 sysarg_t ipc_m_ping(void); 46 46 47 47 /* Close connection */ 48 48 sysarg_t ipc_m_phone_hungup(void); … … 54 54 /* Notify filesystem that it was mounted */ 55 55 sysarg_t mounted(in sysarg_t dev_handle, in_copy string opts); 56 56 57 57 /* Mount filesystem */ 58 58 sysarg_t mount(in sysarg_t device, in sysarg_t flags, in sysarg_t instance, in_copy string point, in_copy string opts, ...); 59 59 60 60 /* Open file by node */ 61 61 sysarg_t open_node(in sysarg_t lflag, in sysarg_t oflag, in sysarg_t mode, ...); 62 62 63 63 /* Lookup file */ 64 64 sysarg_t lookup(in sysarg_t lflag, in sysarg_t oflag, in sysarg_t mode, ...); 65 65 66 66 /* Read data from file */ 67 67 sysarg_t read(in sysarg_t dev_handle, in sysarg_t fs_index, in sysarg_t offset, out_copy stream data); 68 68 69 69 /* Write data to file */ 70 70 sysarg_t write(in sysarg_t dev_handle, in sysarg_t fs_index, in sysarg_t offset, in_copy stream data); 71 71 72 72 /* Truncate file */ 73 73 sysarg_t truncate(in sysarg_t dev_handle, in sysarg_t fs_index, in sysarg_t size); 74 74 75 75 /* Get directory entry metadata */ 76 76 sysarg_t stat(in sysarg_t dev_handle, in sysarg_t fs_index, out_copy stream stat); 77 77 78 78 /* Flush file buffers */ 79 79 sysarg_t sync(in sysarg_t dev_handle, in sysarg_t fs_index); 80 80 81 81 /* Notify on file close */ 82 82 sysarg_t close(in sysarg_t dev_handle, in sysarg_t fs_index); … … 103 103 inst fat fat; 104 104 inst devfs devfs; 105 105 106 106 bind io_dispatcher:tmpfs to tmpfs:tmpfs; 107 107 bind io_dispatcher:fat to fat:fat; 108 108 bind io_dispatcher:devfs to devfs:devfs; 109 109 110 110 bind tmpfs:vfs to io_dispatcher:vfs; 111 111 bind fat:vfs to io_dispatcher:vfs; 112 112 bind devfs:vfs to io_dispatcher:vfs; 113 113 114 114 bind tmpfs:tmpfs_nested to tmpfs:tmpfs; 115 115 bind tmpfs:fat_nested to fat:fat; 116 116 bind tmpfs:devfs_nested to devfs:devfs; 117 117 118 118 bind fat:tmpfs_nested to tmpfs:tmpfs; 119 119 bind fat:fat_nested to fat:fat; 120 120 bind fat:devfs_nested to devfs:devfs; 121 121 122 122 delegate vfs to io_dispatcher:vfs; 123 123 124 124 [/uspace/lib/libc/subsume%io_dispatcher] 125 125 [/uspace/lib/libc/subsume%tmpfs] 126 126 [/uspace/lib/libc/subsume%fat] 127 127 [/uspace/lib/libc/subsume%devfs] 128 128 129 129 subsume io_dispatcher:ns to ns; 130 130 subsume tmpfs:ns to ns; 131 131 subsume fat:ns to ns; 132 132 subsume devfs:ns to ns; 133 133 134 134 subsume tmpfs:rd to rd; 135 135 subsume fat:rd to rd; 136 136 137 137 subsume devfs:devmap_client to devmap_client; 138 138 subsume devfs:device to device; -
contrib/arch/uspace/srv/vfs/vfs.bp
ra35b458 rf1380b7 9 9 } 10 10 } + 11 11 12 12 ?mount { 13 13 ?ipc_m_data_write /* mount point */ ; … … 51 51 } 52 52 } + 53 53 54 54 ?open { 55 55 tentative { … … 67 67 } 68 68 } + 69 69 70 70 ?open_node { 71 71 alternative (fs; tmpfs; fat; devfs) { … … 78 78 } 79 79 } + 80 80 81 81 ?close { 82 82 tentative { … … 88 88 } 89 89 } + 90 90 91 91 ?read { 92 92 tentative { … … 102 102 } 103 103 } + 104 104 105 105 ?write { 106 106 tentative { … … 116 116 } 117 117 } + 118 118 119 119 ?truncate { 120 120 tentative { … … 126 126 } 127 127 } + 128 128 129 129 ?fstat { 130 130 tentative { … … 140 140 } 141 141 } + 142 142 143 143 ?stat { 144 144 ?ipc_m_data_write /* path */ ; … … 156 156 } 157 157 } + 158 158 159 159 ?mkdir { 160 160 ?ipc_m_data_write /* path */ ; … … 165 165 } 166 166 } + 167 167 168 168 ?unlink { 169 169 ?ipc_m_data_write /* path */ ; … … 174 174 } 175 175 } + 176 176 177 177 ?rename { 178 178 ?ipc_m_data_write /* old path */ ; … … 198 198 } 199 199 } + 200 200 201 201 ?sync { 202 202 tentative { … … 206 206 } 207 207 } + 208 208 209 209 ?seek 210 210 211 211 )* ; 212 212 ?ipc_m_phone_hungup -
contrib/highlight/adl.syntax
ra35b458 rf1380b7 6 6 keyword whole frame yellow 7 7 keyword whole architecture yellow 8 8 9 9 keyword whole system yellow 10 10 keyword whole extends yellow 11 11 keyword whole version yellow 12 12 13 13 keyword whole inst yellow 14 14 keyword whole bind yellow … … 16 16 keyword whole subsume yellow 17 17 keyword whole delegate yellow 18 18 19 19 keyword whole sysarg_t yellow 20 20 keyword whole string yellow 21 21 keyword whole stream yellow 22 22 keyword whole void yellow 23 23 24 24 keyword whole in yellow 25 25 keyword whole in_copy yellow 26 26 keyword whole out yellow 27 27 keyword whole out_copy yellow 28 28 29 29 keyword whole protocol yellow 30 30 keyword whole initialization yellow … … 32 32 keyword whole provides yellow 33 33 keyword whole requires yellow 34 34 35 35 keyword /\* brown 36 36 keyword \*/ brown 37 37 keyword // brown 38 38 39 39 keyword { brightcyan 40 40 keyword } brightcyan 41 41 42 42 keyword ( brightcyan 43 43 keyword ) brightcyan 44 44 45 45 keyword , brightcyan 46 46 keyword : brightcyan 47 47 keyword ; brightmagenta 48 48 49 49 keyword [ brightblue black 50 50 keyword ] brightblue black -
contrib/highlight/bp.syntax
ra35b458 rf1380b7 6 6 keyword whole tentative yellow 7 7 keyword whole alternative yellow 8 8 9 9 keyword /\* brown 10 10 keyword \*/ brown 11 11 keyword # brown 12 12 13 13 keyword ! brightred 14 14 keyword ? brightgreen 15 15 16 16 keyword ( brightcyan 17 17 keyword ) brightcyan 18 18 19 19 keyword { brightcyan 20 20 keyword } brightcyan 21 21 22 22 keyword \+ brightmagenta 23 23 keyword ; brightmagenta 24 24 keyword \* brightmagenta 25 25 keyword | brightmagenta 26 26 27 27 keyword \. brightcyan 28 28 29 29 keyword [ brightblue black 30 30 keyword ] brightblue black -
contrib/tools/font/bdf2c.pl
ra35b458 rf1380b7 53 53 /^FONTBOUNDINGBOX\s/ and do { 54 54 ($skip, $width, $height, $offset_x, $offset_y) = (split); 55 55 56 56 die("Font width is not 8px\n") if ($width != 8); 57 57 die("Font height is not 16px\n") if ($height != 16); … … 70 70 my @glyph = (); 71 71 my $y; 72 72 73 73 # Add empty lines at top 74 74 my $empties = $height + $offset_y - $goffset_y - $gheight; 75 75 76 76 for ($y = 0; $y < $empties; $y++) { 77 77 $glyph[$y] = 0; 78 78 } 79 79 80 80 # Scan the hex bitmap 81 81 for ($y = $empties; $y < $empties + $gheight; $y++) { … … 83 83 $glyph[$y] = hex(substr($_, 0, 2)) >> $goffset_x; 84 84 } 85 85 86 86 # Add empty lines at bottom 87 87 my $fill = $height - $gheight - $empties; … … 89 89 $glyph[$y] = 0; 90 90 } 91 91 92 92 if ($index != 0) { 93 93 $glyphs[$index] = (\@glyph); … … 125 125 print "\t\treturn (ch - " . ($start - $start_pos) . ");\n"; 126 126 } 127 127 128 128 print "\t\n"; 129 129 } 130 130 131 131 $start = $index; 132 132 $start_pos = $pos; 133 133 } 134 134 135 135 $pos++; 136 136 $prev = $index; … … 145 145 for $index (@chars) { 146 146 print "\n\t{"; 147 147 148 148 my $y; 149 149 for ($y = 0; $y < $height; $y++) { … … 151 151 printf "0x%.2x", $glyphs[$index]->[$y]; 152 152 } 153 153 154 154 print "},"; 155 155 }
Note:
See TracChangeset
for help on using the changeset viewer.