25
25
#ifndef cifframe_h_INCLUDE
26
26
#define cifframe_h_INCLUDE
28
#include "Foundation/NSMethodSignature.h"
29
#include "GNUstepBase/DistributedObjects.h"
29
#include <base/preface.h>
31
32
typedef struct _cifframe_t {
39
extern cifframe_t *cifframe_from_sig (const char *typePtr, void **retval);
40
extern void cifframe_free(cifframe_t *cframe);
41
extern void cifframe_set_arg(cifframe_t *cframe, int index, void *buffer);
42
extern void cifframe_get_arg(cifframe_t *cframe, int index, void *buffer);
39
extern cifframe_t *cifframe_from_info (NSArgumentInfo *info, int numargs,
41
extern void cifframe_set_arg(cifframe_t *cframe, int index, void *buffer,
43
extern void cifframe_get_arg(cifframe_t *cframe, int index, void *buffer,
43
45
extern void *cifframe_arg_addr(cifframe_t *cframe, int index);
44
extern BOOL cifframe_decode_return (const char *type, void* buffer);
46
extern BOOL cifframe_decode_arg (const char *type, void* buffer);
47
extern BOOL cifframe_encode_arg (const char *type, void* buffer);
46
49
extern void cifframe_do_call (DOContext *ctxt,
47
50
void(*decoder)(DOContext*),
48
51
void(*encoder)(DOContext*));
52
extern void cifframe_build_return (NSInvocation *inv,
55
void(*decoder)(DOContext*),