+AC_DEFUN(PSI_EXTVAR, [
+ dnl just a getter
+ PSI_MACRO($1, [], [
+ PSI_DECL_ARGS($1)
+ psi_add_decl "$psi_decl_args"
+ dnl explicit getter & setter
+ PSI_REDIR([${macro_name}_get], [_psi_get_$macro_name])
+ PSI_DECL_ARGS($1_get)
+ psi_add_decl "$psi_decl_args"
+ psi_add_macro "void _psi_set_${macro_name}($macro_type value) { memcpy(&$macro_name, &value, sizeof(value)); }"
+ PSI_REDIR([${macro_name}_set], [_psi_set_${macro_name}])
+ PSI_DECL_ARGS([void PSI_VAR_NAME($1)_set], [(PSI_VAR_TYPE($1) _v)])
+ psi_add_decl "$psi_decl_args"
+ ])
+])