1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- @node Unsafe C macros
- @section Unsafe C macros
- All of the C functions & macros described previously verify that their
- arguments have the appropriate types and lie in the appropriate ranges.
- The following macros are identical to their safe counterparts, except
- that the unsafe variants, by contrast, do @emph{not} verify coherency
- of their arguments. They are provided for the purpose of writing more
- efficient code; their general use is not recommended.
- @deftypefn {C macro} char S48_UNSAFE_EXTRACT_CHAR (s48_value @var{char})
- @deftypefnx {C macro} {char *} S48_UNSAFE_EXTRACT_STRING (s48_value @var{string})
- @deftypefnx {C macro} long S48_UNSAFE_EXTRACT_INTEGER (s48_value @var{integer})
- @deftypefnx {C macro} double S48_UNSAFE_EXTRACT_DOUBLE (s48_value @var{double})
- @deftypefnx {C macro} long S48_UNSAFE_EXTRACT_FIXNUM (s48_value @var{fixnum})
- @deftypefnx {C macro} s48_value S48_UNSAFE_ENTER_FIXNUM (long @var{integer})
- @end deftypefn
- @*
- @deftypefn {C macro} s48_value S48_UNSAFE_CAR (s48_value @var{pair})
- @deftypefnx {C macro} s48_value S48_UNSAFE_CDR (s48_value @var{pair})
- @deftypefnx {C macro} void S48_UNSAFE_SET_CAR (s48_value @var{pair}, s48_value @var{value})
- @deftypefnx {C macro} void S48_UNSAFE_SET_CDR (s48_value @var{pair}, s48_value @var{value})
- @end deftypefn
- @*
- @deftypefn {C macro} long S48_UNSAFE_VECTOR_LENGTH (s48_value @var{vector})
- @deftypefnx {C macro} s48_value S48_UNSAFE_VECTOR_REF (s48_value @var{vector}, long @var{index})
- @deftypefnx {C macro} void S48_UNSAFE_VECTOR_SET (s48_value @var{vector}, long @var{index}, s48_value @var{value})
- @end deftypefn
- @*
- @deftypefn {C macro} long S48_UNSAFE_STRING_LENGTH (s48_value @var{string})
- @deftypefnx {C macro} char S48_UNSAFE_STRING_REF (s48_value @var{string}, long @var{index})
- @deftypefnx {C macro} void S48_UNSAFE_STRING_SET (s48_value @var{string}, long @var{index}, char @var{char})
- @end deftypefn
- @*
- @deftypefn {C macro} void S48_UNSAFE_SYMBOL_TO_STRING (s48_value @var{symbol})
- @end deftypefn
- @*
- @deftypefn {C macro} long S48_UNSAFE_BYTE_VECTOR_LENGTH (s48_value @var{bytev})
- @deftypefnx {C macro} char S48_UNSAFE_BYTE_VECTOR_REF (s48_value @var{bytev}, long @var{index})
- @deftypefnx {C macro} void S48_UNSAFE_BYTE_VECTOR_SET (s48_value @var{bytev}, long @var{index}, char @var{byte})
- @end deftypefn
- @*
- @deftypefn {C macro} s48_value S48_UNSAFE_SHARED_BINDING_REF (s48_value @var{shared_binding})
- @deftypefnx {C macro} int S48_UNSAFE_SHARED_BINDING_IS_IMPORTP (s48_value @var{shared_binding})
- @deftypefnx {C macro} s48_value S48_UNSAFE_SHARED_BINDING_NAME (s48_value @var{shared_binding})
- @deftypefnx {C macro} void S48_UNSAFE_SHARED_BINDING_SET (s48_value @var{shared_binding}, s48_value @var{value})
- @end deftypefn
- @*
- @deftypefn {C macro} @var{type} S48_UNSAFE_EXTRACT_VALUE (s48_value @var{bytev}, @var{type})
- @deftypefnx {C macro} {@var{type} *} S48_UNSAFE_EXTRACT_VALUE_POINTER (s48_value @var{bytev}, @var{type})
- @deftypefnx {C macro} void S48_UNSAFE_SET_VALUE (s48_value @var{bytev}, @var{type}, @var{type} @var{value})
- @end deftypefn
|