cinvoke-arch.h File Reference

Architecture-Specific Types. More...

Go to the source code of this file.

Data Structures

struct  _CInvContext

Typedefs

typedef enum _cinv_status_t cinv_status_t
 Indicates whether a function call succeeded or failed.
typedef enum _cinv_type_t cinv_type_t
 Represents the simple C types which can be marshaled by C/Invoke.
typedef enum _cinv_callconv_t cinv_callconv_t
 Indicates the calling convention being used for a function.
typedef _CInvContext CInvContext

Enumerations

enum  _cinv_status_t { CINV_ERROR = 0, CINV_SUCCESS = 1 }
 Indicates whether a function call succeeded or failed. More...
enum  _cinv_type_t {
  CINV_T_CHAR = 0, CINV_T_SHORT = 1, CINV_T_INT = 2, CINV_T_LONG = 3,
  CINV_T_EXTRALONG = 4, CINV_T_FLOAT = 5, CINV_T_DOUBLE = 6, CINV_T_PTR = 7,
  CINV_NUM_TYPES = 8
}
 Represents the simple C types which can be marshaled by C/Invoke. More...
enum  _cinv_callconv_t { CINV_CC_CDECL = 0, CINV_CC_STDCALL = 1, CINV_CC_FASTCALL = 2 }
 Indicates the calling convention being used for a function. More...

Functions

void arch_free_errstr (char *str)
cinv_status_t arch_library_create (CInvContext *context, const char *path, ArchLibrary *library_out)
cinv_status_t arch_library_get_entrypoint (CInvContext *context, ArchLibrary *library, const char *name, void **entrypoint_out)
cinv_status_t arch_library_delete (CInvContext *context, ArchLibrary *library)
char * arch_callback_stub (void *functionp, void *param, short stacksize, cinv_callconv_t cc)
void arch_free_stub (char *stub)
int arch_is_register_parm (cinv_callconv_t callingconvention, int index, int num_params, cinv_type_t types[])
void arch_set_register_parms (ArchRegParms *regparms, cinv_callconv_t callingconvention, int num_params, void *parameters[], cinv_type_t types[])
void arch_get_register_parms (ArchRegParms *regparms, cinv_callconv_t callingconvention, int num_params, void *parameters_out[], cinv_type_t types[])
void arch_getval_char (ArchRetValue *archval, char *outval)
void arch_getval_short (ArchRetValue *archval, short *outval)
void arch_getval_int (ArchRetValue *archval, int *outval)
void arch_getval_long (ArchRetValue *archval, long int *outval)
void arch_getval_extralong (ArchRetValue *archval, long long int *outval)
void arch_getval_float (ArchRetValue *archval, float *outval)
void arch_getval_double (ArchRetValue *archval, double *outval)
void arch_getval_ptr (ArchRetValue *archval, void **outval)
void arch_setval_char (ArchRetValue *archval, char val)
void arch_setval_short (ArchRetValue *archval, short val)
void arch_setval_int (ArchRetValue *archval, int val)
void arch_setval_long (ArchRetValue *archval, long int val)
void arch_setval_extralong (ArchRetValue *archval, long long int val)
void arch_setval_float (ArchRetValue *archval, float val)
void arch_setval_double (ArchRetValue *archval, double val)
void arch_setval_ptr (ArchRetValue *archval, void *val)
void arch_size_char (int *stacksize_out, int *structsize_out, int *stackalign_out, int *structalign_out)
void arch_size_short (int *stacksize_out, int *structsize_out, int *stackalign_out, int *structalign_out)
void arch_size_int (int *stacksize_out, int *structsize_out, int *stackalign_out, int *structalign_out)
void arch_size_long (int *stacksize_out, int *structsize_out, int *stackalign_out, int *structalign_out)
void arch_size_extralong (int *stacksize_out, int *structsize_out, int *stackalign_out, int *structalign_out)
void arch_size_float (int *stacksize_out, int *structsize_out, int *stackalign_out, int *structalign_out)
void arch_size_double (int *stacksize_out, int *structsize_out, int *stackalign_out, int *structalign_out)
void arch_size_ptr (int *stacksize_out, int *structsize_out, int *stackalign_out, int *structalign_out)


Detailed Description

Architecture-Specific Types.


Enumeration Type Documentation

enum _cinv_status_t

Indicates whether a function call succeeded or failed.

Enumerator:
CINV_ERROR  Indicates that an error occurred.
CINV_SUCCESS  Indicates that no error occurred.

enum _cinv_type_t

Represents the simple C types which can be marshaled by C/Invoke.

Enumerator:
CINV_T_CHAR  Represents the char C type.
CINV_T_SHORT  Represents the short C type.
CINV_T_INT  Represents the int C type.
CINV_T_LONG  Represents the long C type.
CINV_T_EXTRALONG  Represents the long long C type.
CINV_T_FLOAT  Represents the float C type.
CINV_T_DOUBLE  Represents the double C type.
CINV_T_PTR  Represents any pointer type.

enum _cinv_callconv_t

Indicates the calling convention being used for a function.

Enumerator:
CINV_CC_CDECL  The cdecl calling convention, the most common convention on x86.
CINV_CC_STDCALL  The stdcall calling convention, the default convention for the Windows API.
CINV_CC_FASTCALL  Yet another, rarely used, Windows calling convention.


Generated on Sun Jul 2 23:50:42 2006 for C/Invoke by  doxygen 1.4.7