/ include / CoreFoundation / NSInvocationInternal.h
NSInvocationInternal.h
 1  #import <objc/message.h>
 2  
 3  #import <Block_private.h>
 4  
 5  @class NSMethodSignature;
 6  
 7  // Needs to be at least as large as:
 8  // - 4 ints (for r0-r3)
 9  // - 2 longs (for rdx/rax) and two doubles (for xmm0/xmm1)
10  // - long double
11  // So, max(16, 16 + 16, 80)
12  #define RET_SIZE_ARGS 80
13  
14  void __invoke__(void *send, void *retdata, marg_list args, size_t len, char rettype);
15  
16  extern void _CF_forwarding_prep_0();
17  extern void _CF_forwarding_prep_1();
18  
19  @interface NSInvocation (Internal)
20  + (instancetype)_invocationWithMethodSignature: (NSMethodSignature*)signature frame: (void*)frame;
21  - (instancetype)_initWithMethodSignature: (NSMethodSignature*)signature frame: (void*)frame;
22  - (void) invokeSuper;
23  - (void) invokeUsingIMP: (IMP) imp;
24  - (void **) _idxToArg: (NSUInteger) idx;
25  - (void) _addAttachedObject: (id) object;
26  @end