~ubuntu-branches/ubuntu/karmic/gnustep-base/karmic

« back to all changes in this revision

Viewing changes to Source/cifframe.h

  • Committer: Bazaar Package Importer
  • Author(s): Eric Heintzmann
  • Date: 2005-04-17 00:14:38 UTC
  • mfrom: (1.2.1 upstream) (2.1.2 hoary)
  • Revision ID: james.westby@ubuntu.com-20050417001438-enf0y07c9tku85z1
Tags: 1.10.3-1
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
#ifndef cifframe_h_INCLUDE
26
26
#define cifframe_h_INCLUDE
27
27
 
 
28
#include "Foundation/NSMethodSignature.h"
 
29
#include "GNUstepBase/DistributedObjects.h"
28
30
#include <ffi.h>
29
 
#include <base/preface.h>
30
31
 
31
32
typedef struct _cifframe_t {
32
33
  ffi_cif cif;
33
34
  int nargs;
34
 
  ffi_type *rtype;
35
 
  ffi_type **args;
 
35
  ffi_type **arg_types;
36
36
  void **values;
37
37
} cifframe_t;
38
38
 
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,
 
40
                                         void **retval);
 
41
extern void cifframe_set_arg(cifframe_t *cframe, int index, void *buffer, 
 
42
                             int size);
 
43
extern void cifframe_get_arg(cifframe_t *cframe, int index, void *buffer,
 
44
                             int size);
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);
45
48
 
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,
 
53
                const char *type, 
 
54
                BOOL out_parameters,
 
55
                void(*decoder)(DOContext*),
 
56
                DOContext* ctxt);
49
57
#endif