File:  [Qemu by Fabrice Bellard] / qemu / roms / openbios / libopenbios / clib.fs
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 19:19:39 2018 UTC (8 years, 1 month ago) by root
Branches: qemu, MAIN
CVS tags: qemu1101, qemu1001, HEAD
qemu 1.0.1

\ tag: C helpers
\ 
\ Misc C helpers
\ 
\ Copyright (C) 2003, 2004 Samuel Rydh
\ 
\ See the file "COPYING" for further information about
\ the copyright and warranty status of this work.
\ 

\ should perhaps be moved somewhere else
: set-property ( buf len propname propname-len phandle -- )
	>r 2swap encode-bytes 2swap r> encode-property
;

\ install C function
: is-cfunc ( funcaddr word word-len -- )
  $create , does> @ call
;

\ install a nameless C function
: is-noname-cfunc ( funcaddr -- xt )
  0 0 is-cfunc last-xt
;

\ is-xt-cfunc installs a function which does the following:
\   - xt is executes
\   - funcarg is pushed
\   - funcaddr is called

: is-xt-cfunc ( xt|0 funcarg funcaddr word word-len -- )
	is-func-begin
  rot ?dup if , then
  swap ['] (lit) , , ['] (lit) , , ['] call ,
	is-func-end
;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.