2006-09-14 23:12:19 -04:00
|
|
|
! Copyright (C) 2006 Chris Double.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
|
|
!
|
|
|
|
IN: usb
|
|
|
|
USING: kernel alien math namespaces sequences parser ;
|
|
|
|
|
|
|
|
: define-packed-field ( offset type name -- offset )
|
|
|
|
>r parse-c-decl
|
|
|
|
>r 1 r>
|
|
|
|
>r swapd align r> r>
|
2006-12-10 15:01:52 -05:00
|
|
|
"struct-name" get swap "-" swap 3append
|
2006-09-14 23:12:19 -04:00
|
|
|
3dup define-getter 3dup define-setter
|
|
|
|
drop c-size rot * + ;
|
|
|
|
|
|
|
|
: PACKED-FIELD: ( offset -- offset )
|
|
|
|
scan scan define-packed-field ; parsing
|
|
|
|
|