48#define NDR_TABLE_MASK 127
52 return pStubDesc->
Version >= 0x20000;
61 if (
param->attr.IsBasetype)
63 pFormat = &
param->u.type_format_char;
68 pFormat = &pStubMsg->
StubDesc->pFormatTypes[
param->u.type_offset];
76 FIXME(
"format type 0x%x not implemented\n", pFormat[0]);
87 if (
param->attr.IsBasetype)
89 pFormat = &
param->u.type_format_char;
94 pFormat = &pStubMsg->
StubDesc->pFormatTypes[
param->u.type_offset];
99 if (
m)
return m(pStubMsg,
pMemory, pFormat);
102 FIXME(
"format type 0x%x not implemented\n", pFormat[0]);
114 if (
param->attr.IsBasetype)
116 pFormat = &
param->u.type_format_char;
117 if (
param->attr.IsSimpleRef) ppMemory = (
unsigned char **)*ppMemory;
121 pFormat = &pStubMsg->
StubDesc->pFormatTypes[
param->u.type_offset];
122 if (!
param->attr.IsByValue) ppMemory = (
unsigned char **)*ppMemory;
126 if (
m)
return m(pStubMsg, ppMemory, pFormat, fMustAlloc);
129 FIXME(
"format type 0x%x not implemented\n", pFormat[0]);
141 if (
param->attr.IsBasetype)
return;
142 pFormat = &pStubMsg->
StubDesc->pFormatTypes[
param->u.type_offset];
168 if(*(
const WORD*)(pFormat + 4))
169 FIXME(
"Unhandled conformant description\n");
214 FIXME(
"Unhandled type %02x\n", *pFormat);
220 size =
sizeof(
void *);
271#define ARG_FROM_OFFSET(args, offset) ((args) + (offset))
301 TRACE(
"Explicit primitive handle @ %d\n", pDesc->
offset);
329 TRACE(
"Explicit bind context\n");
332 TRACE(
"\tHANDLE_PARAM_IS_VIA_PTR\n");
341 ERR(
"null context handle isn't allowed\n");
348 ERR(
"bad explicit binding handle type (0x%02x)\n", pProcHeader->
handle_type);
353 FIXME(
"FC_BIND_GENERIC\n");
357 TRACE(
"Implicit primitive handle\n");
358 return *pStubMsg->
StubDesc->IMPLICIT_HANDLE_INFO.pPrimitiveHandle;
360 TRACE(
"FC_CALLBACK_HANDLE\n");
370 TRACE(
"Implicit auto handle\n");
371 return *pStubMsg->
StubDesc->IMPLICIT_HANDLE_INFO.pAutoHandle;
373 ERR(
"bad implicit binding handle type (0x%02x)\n", pProcHeader->
handle_type);
416 ERR(
"bad explicit binding handle type (0x%02x)\n", pProcHeader->
handle_type);
421 FIXME(
"FC_BIND_GENERIC\n");
429 ERR(
"bad implicit binding handle type (0x%02x)\n", pProcHeader->
handle_type);
456 return sizeof(
short);
464 return sizeof(
float);
473 FIXME(
"Unhandled basetype %#x.\n",
fc);
479 void **fpu_args,
unsigned short number_of_params,
unsigned char *pRetVal )
484 for (
i = 0;
i < number_of_params;
i++)
498 pArg = (
unsigned char *)&
f;
502 TRACE(
"param[%d]: %p type %02x %s\n",
i, pArg,
509 if (*(
unsigned char **)pArg)
518 if (
params[
i].
attr.IsSimpleRef && !*(
unsigned char **)pArg)
528 if (
params[
i].
attr.IsReturn && pRetVal) pArg = pRetVal;
562 return sizeof(
void *);
568 ERR(
"invalid base type 0x%x\n",
fc);
591 unsigned int stack_size,
BOOL object_proc,
595 unsigned int i,
stack_offset = object_proc ?
sizeof(
void *) : 0;
604 FIXME(
"%u args not supported\n",
i );
611 switch (
param->param_direction)
614 args[
i].attr.IsIn = 1;
615 args[
i].attr.IsBasetype = 1;
618 args[
i].attr.IsOut = 1;
619 args[
i].attr.IsReturn = 1;
620 args[
i].attr.IsBasetype = 1;
623 args[
i].attr.IsIn = 1;
624 args[
i].attr.MustFree = 1;
627 args[
i].attr.IsIn = 1;
628 args[
i].attr.IsDontCallFreeInst = 1;
631 args[
i].attr.IsIn = 1;
632 args[
i].attr.IsOut = 1;
633 args[
i].attr.MustFree = 1;
636 args[
i].attr.IsOut = 1;
639 args[
i].attr.IsOut = 1;
640 args[
i].attr.IsReturn = 1;
645 args[
i].u.type_format_char =
param->type_format_char;
676 if (
ctx->ext_flags.HasNewCorrDesc)
682 if (
ctx->Oif_flags.HasPipes)
705 unsigned short procedure_number,
unsigned short stack_size,
unsigned int number_of_params,
763 FIXME(
"pipes not supported yet\n");
789 TRACE(
"INITOUT\n" );
791 number_of_params, (
unsigned char *)&retval);
795 TRACE(
"CALCSIZE\n" );
797 number_of_params, (
unsigned char *)&retval);
800 TRACE(
"GETBUFFER\n" );
804 FIXME(
"pipes not supported yet\n");
809 FIXME(
"using auto handle - call NdrNsGetBuffer when it gets implemented\n");
815 TRACE(
"MARSHAL\n" );
817 number_of_params, (
unsigned char *)&retval);
820 TRACE(
"SENDRECEIVE\n" );
825 FIXME(
"pipes not supported yet\n");
830 FIXME(
"using auto handle - call NdrNsSendReceive when it gets implemented\n");
841 TRACE(
"UNMARSHAL\n" );
843 number_of_params, (
unsigned char *)&retval);
856 unsigned short procedure_number;
858 unsigned short stack_size;
860 unsigned int number_of_params;
872 TRACE(
"pStubDesc %p, pFormat %p, ...\n", pStubDesc, pFormat);
880 procedure_number = header_rpc->
proc_num;
886 procedure_number = pProcHeader->
proc_num;
889 TRACE(
"stack size: 0x%x\n", stack_size);
890 TRACE(
"proc num: %d\n", procedure_number);
894 pHandleFormat = pFormat;
916 pFormat += pExtensions->
Size;
918 if (pExtensions->
Size >
sizeof(*pExtensions) && fpu_stack)
921 unsigned short fpu_mask = *(
unsigned short *)(pExtensions + 1);
922 for (
i = 0; i < 4; i++, fpu_mask >>= 2)
923 switch (fpu_mask & 3)
925 case 1: *(
float *)&
stack_top[
i] = *(
float *)&fpu_stack[
i];
break;
926 case 2: *(
double *)&
stack_top[
i] = *(
double *)&fpu_stack[
i];
break;
936 old_args,
sizeof(old_args), &number_of_params );
944 stack_top, fpu_stack, &stubMsg, procedure_number, stack_size,
952 number_of_params, (
unsigned char *)&RetVal);
962 stack_top, fpu_stack, &stubMsg, procedure_number, stack_size,
974 comm_status = (
ULONG *)&RetVal;
981 fault_status = (
ULONG *)&RetVal;
995 stack_top, fpu_stack, &stubMsg, procedure_number, stack_size,
999 TRACE(
"RetVal = 0x%lx\n", RetVal);
1006 "movq %r8,0x18(%rsp)\n\t"
1007 "movq %r9,0x20(%rsp)\n\t"
1008 "leaq 0x18(%rsp),%r8\n\t"
1010 "subq $0x28,%rsp\n\t"
1011 __ASM_CFI(
".cfi_adjust_cfa_offset 0x28\n\t")
1013 "addq $0x28,%rsp\n\t"
1014 __ASM_CFI(
".cfi_adjust_cfa_offset -0x28\n\t")
1038#if defined __i386__ && defined _MSC_VER
1048 sub esp,
eax ; Make room
in stack for arguments
1056 call [
ebp+8] ; Call function
1064#elif defined __i386__ && defined __GNUC__
1068 __ASM_CFI(
".cfi_adjust_cfa_offset 4\n\t")
1070 "movl %esp,%ebp\n\t"
1071 __ASM_CFI(
".cfi_def_cfa_register %ebp\n\t")
1073 __ASM_CFI(
".cfi_rel_offset %edi,-4\n\t")
1075 __ASM_CFI(
".cfi_rel_offset %esi,-8\n\t")
1076 "movl 16(%ebp), %eax\n\t"
1077 "subl %eax, %esp\n\t"
1078 "andl $~15, %esp\n\t"
1079 "movl %esp, %edi\n\t"
1080 "movl %eax, %ecx\n\t"
1081 "movl 12(%ebp), %esi\n\t"
1086 "leal -8(%ebp), %esp\n\t"
1095#elif defined __x86_64__
1100 __ASM_CFI(
".cfi_adjust_cfa_offset 8\n\t")
1102 "movq %rsp,%rbp\n\t"
1104 __ASM_CFI(
".cfi_def_cfa_register %rbp\n\t")
1107 __ASM_CFI(
".cfi_rel_offset %rsi,-8\n\t")
1111 __ASM_CFI(
".cfi_rel_offset %rdi,-16\n\t")
1112 "movq %rcx,%rax\n\t"
1115 "cmovgq %r8,%rcx\n\t"
1116 "subq %rcx,%rsp\n\t"
1117 "andq $~15,%rsp\n\t"
1120 "movq %rsp,%rdi\n\t"
1121 "movq %rdx,%rsi\n\t"
1123 "movq 0(%rsp),%rcx\n\t"
1124 "movq 8(%rsp),%rdx\n\t"
1125 "movq 16(%rsp),%r8\n\t"
1126 "movq 24(%rsp),%r9\n\t"
1127 "movq 0(%rsp),%xmm0\n\t"
1128 "movq 8(%rsp),%xmm1\n\t"
1129 "movq 16(%rsp),%xmm2\n\t"
1130 "movq 24(%rsp),%xmm3\n\t"
1132 "leaq -16(%rbp),%rsp\n\t"
1137 __ASM_CFI(
".cfi_def_cfa_register %rsp\n\t")
1139 __ASM_CFI(
".cfi_adjust_cfa_offset -8\n\t")
1142#elif defined __arm__
1146 "push {r4, r5, LR}\n\t"
1149 "lsr r3, r2, #2\n\t"
1152 "sub SP, SP, r2\n\t"
1154 "subeq SP, SP, #4\n\t"
1155 "1:\tsub r2, r2, #4\n\t"
1156 "ldr r0, [r1, r2]\n\t"
1157 "str r0, [SP, r2]\n\t"
1164 "2:\tcmp r3, #2\n\t"
1168 "3:\tcmp r3, #3\n\t"
1172 "4:\tpop {r0-r3}\n\t"
1175 "pop {r4, r5, PC}" )
1176#elif defined __aarch64__
1179 "stp x29, x30, [sp, #-16]!\n\t"
1181 "add x3, x2, #15\n\t"
1182 "lsr x3, x3, #4\n\t"
1183 "sub sp, sp, x3, lsl #4\n\t"
1185 "1:\tsub x2, x2, #8\n\t"
1186 "ldr x4, [x1, x2]\n\t"
1187 "str x4, [sp, x2]\n\t"
1189 "2:\tmov x8, x0\n\t"
1191 "ldp x0, x1, [sp], #16\n\t"
1194 "ldp x2, x3, [sp], #16\n\t"
1197 "ldp x4, x5, [sp], #16\n\t"
1200 "ldp x6, x7, [sp], #16\n"
1203 "ldp x29, x30, [sp], #16\n\t"
1206#warning call_server_func not implemented for your architecture
1209 FIXME(
"Not implemented for your architecture\n");
1216 unsigned short number_of_params)
1222 for (
i = 0;
i < number_of_params;
i++)
1225 const unsigned char *pTypeFormat = &pStubMsg->
StubDesc->pFormatTypes[
params[
i].u.type_offset];
1227 TRACE(
"param[%d]: %p -> %p type %02x %s\n",
i,
1228 pArg, *(
unsigned char **)pArg,
1252 if (*pTypeFormat !=
FC_BIND_CONTEXT) pStubMsg->pfnFree(*(
void **)pArg);
1279 params[
i].attr.ServerAllocSize * 8);
1291 TRACE(
"\tmemory addr (after): %p -> %p\n", pArg, *(
unsigned char **)pArg);
1309 DWORD * pdwStubPhase)
1316 unsigned char *
args;
1318 unsigned short stack_size;
1320 unsigned int number_of_params;
1333 unsigned short BindingHandleOffset = (
USHORT)-1;
1335 TRACE(
"pThis %p, pChannel %p, pRpcMsg %p, pdwStubPhase %p\n", pThis, pChannel, pRpcMsg, pdwStubPhase);
1383 ERR(
"bad explicit binding handle type (0x%02x)\n", pProcHeader->
handle_type);
1393 ERR(
"bad implicit binding handle type (0x%02x)\n", pProcHeader->
handle_type);
1415 FIXME(
"Set RPCSS memory allocation routines\n");
1418 TRACE(
"allocating memory for stack of size %x\n", stack_size);
1429 if (BindingHandleOffset != (
USHORT)-1)
1447 pFormat += pExtensions->
Size;
1452 FIXME(
"pipes not supported yet\n");
1470 NdrCorrCache,
sizeof(NdrCorrCache), &number_of_params );
1480 TRACE(
"phase = %d\n", phase);
1505 TRACE(
"stub implementation returned 0x%lx\n", retval);
1506 *retval_ptr = retval;
1509 TRACE(
"void stub implementation\n");
1537 retval_ptr =
stub_do_args(&stubMsg, pFormat, phase, number_of_params);
1540 ERR(
"shouldn't reach here. phase %d\n", phase);
1613 unsigned short procedure_number;
1623 if (pStubDesc->
Version > 0x50002)
1625 FIXME(
"Incompatible stub description version: 0x%x\n", pStubDesc->
Version);
1640 procedure_number = header_rpc->
proc_num;
1650 TRACE(
"proc num: %d\n", procedure_number);
1658 ERR(
"objects not supported\n");
1698 ext_flags = pExtensions->
Flags2;
1699 pFormat += pExtensions->
Size;
1724 FIXME(
"pipes not supported yet\n");
1733 if (ext_flags.
Unused & 0x2)
1748 TRACE(
"CALCSIZE\n" );
1752 TRACE(
"GETBUFFER\n" );
1755 FIXME(
"pipes not supported yet\n");
1762 FIXME(
"using auto handle - call NdrNsGetBuffer when it gets implemented\n");
1773 TRACE(
"MARSHAL\n" );
1782 FIXME(
"pipes not supported yet\n");
1789 FIXME(
"using auto handle - call NdrNsSend when it gets implemented\n");
1807 TRACE(
"pStubDesc %p, pFormat %p, ...\n", pStubDesc, pFormat);
1856 TRACE(
"RECEIVE\n" );
1861 NdrNsReceive(&stubMsg, stubMsg.Buffer, pStubDesc->IMPLICIT_HANDLE_INFO.pAutoHandle);
1863 FIXME(
"using auto handle - call NdrNsReceive when it gets implemented\n");
1884 TRACE(
"UNMARSHAL\n" );
1913 "subq $0x28,%rsp\n\t"
1916 __ASM_CFI(
".cfi_adjust_cfa_offset 0x28\n\t")
1917 "movq %r8,0x40(%rsp)\n\t"
1918 "movq %r9,0x48(%rsp)\n\t"
1919 "leaq 0x40(%rsp),%r8\n\t"
1920 "call " __ASM_NAME(
"ndr_async_client_call")
"\n\t"
1921 "addq $0x28,%rsp\n\t"
1922 __ASM_CFI(
".cfi_adjust_cfa_offset -0x28\n\t")
1945 DWORD * pdwStubPhase)
1947 FIXME(
"unimplemented, expect crash!\n");
1957 unsigned char *
args;
1964 TRACE(
"%p\n", pRpcMsg);
2028 ERR(
"objects not supported\n");
2044 FIXME(
"Set RPCSS memory allocation routines\n");
2063 *(
void **)
args = pAsync;
2083 ext_flags = pExtensions->
Flags2;
2084 pFormat += pExtensions->
Size;
2089 FIXME(
"pipes not supported yet\n");
2098 if (ext_flags.
Unused & 0x2)
2118 TRACE(
"UNMARSHAL\n");
2126 TRACE(
"CALLSERVER\n");
2152 TRACE(
"stub implementation returned 0x%lx\n", *(
LONG_PTR *)Reply);
2156 TRACE(
"void stub implementation\n");
2160 TRACE(
"phase = %d\n", phase);
2166 ERR(
"objects not supported\n");
2190 ERR(
"shouldn't reach here. phase %d\n", phase);
2196 if (ext_flags.HasNewCorrDesc)
2202 if (Oif_flags.HasPipes)
char * strcat(char *DstString, const char *SrcString)
ACPI_SIZE strlen(const char *String)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
void WINAPI NdrProxyGetBuffer(void *This, PMIDL_STUB_MESSAGE pStubMsg)
void WINAPI NdrProxyInitialize(void *This, PRPC_MESSAGE pRpcMsg, PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDescriptor, unsigned int ProcNum)
void WINAPI NdrProxyFreeBuffer(void *This, PMIDL_STUB_MESSAGE pStubMsg)
void WINAPI NdrProxySendReceive(void *This, PMIDL_STUB_MESSAGE pStubMsg)
HRESULT WINAPI NdrProxyErrorHandler(DWORD dwExceptionCode)
const MIDL_SERVER_INFO * CStdStubBuffer_GetServerInfo(IRpcStubBuffer *iface) DECLSPEC_HIDDEN
const char * wine_dbg_sprintf(const char *format,...)
#define HeapFree(x, y, z)
static void cleanup(void)
void WINAPI NdrStubGetBuffer(LPRPCSTUBBUFFER iface, LPRPCCHANNELBUFFER pRpcChannelBuffer, PMIDL_STUB_MESSAGE pStubMsg)
void WINAPI NdrStubInitialize(PRPC_MESSAGE pRpcMsg, PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDescriptor, LPRPCCHANNELBUFFER pRpcChannelBuffer)
void WINAPI NdrCorrelationFree(PMIDL_STUB_MESSAGE pStubMsg)
NDR_SCONTEXT WINAPI NdrContextHandleInitialize(PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat)
const NDR_FREE NdrFreer[NDR_TABLE_SIZE]
void WINAPI NdrClearOutParameters(PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat, void *ArgAddr)
ULONG ComplexStructSize(PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat)
const NDR_UNMARSHALL NdrUnmarshaller[NDR_TABLE_SIZE]
const NDR_MARSHALL NdrMarshaller[NDR_TABLE_SIZE]
void *WINAPI NdrAllocate(MIDL_STUB_MESSAGE *pStubMsg, SIZE_T len)
void WINAPI NdrCorrelationInitialize(PMIDL_STUB_MESSAGE pStubMsg, void *pMemory, ULONG CacheSize, ULONG Flags)
const NDR_BUFFERSIZE NdrBufferSizer[NDR_TABLE_SIZE]
void WINAPI NdrConvert(PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat)
RPC_STATUS WINAPI RpcAsyncInitializeHandle(PRPC_ASYNC_STATE pAsync, unsigned int Size)
VOID Copy(PVOID Src, PVOID Dst, ULONG NumBytes)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
static jsval_t stack_top(script_ctx_t *ctx)
GLuint GLuint GLsizei count
GLenum const GLfloat * params
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
#define memcpy(s1, s2, n)
#define sprintf(buf, format,...)
static const WCHAR desc[]
static const char mbstate_t *static wchar_t const char mbstate_t *static const wchar_t int *static double
static LPINTERNAL_BSTR Get(const BSTR lpszString)
static float(__cdecl *square_half_float)(float x
#define __ASM_GLOBAL_FUNC(name, code)
void WINAPI NdrClientInitializeNew(PRPC_MESSAGE pRpcMessage, PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDesc, unsigned int ProcNum)
unsigned char *WINAPI NdrServerInitializeNew(PRPC_MESSAGE pRpcMsg, PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDesc)
RPC_STATUS RPC_ENTRY NdrMapCommAndFaultStatus(PMIDL_STUB_MESSAGE pStubMsg, ULONG *pCommStatus, ULONG *pFaultStatus, RPC_STATUS Status)
void WINAPI NdrFreeBuffer(PMIDL_STUB_MESSAGE pStubMsg)
unsigned char *WINAPI NdrGetBuffer(PMIDL_STUB_MESSAGE stubmsg, ULONG buflen, RPC_BINDING_HANDLE handle)
unsigned char *WINAPI NdrSendReceive(PMIDL_STUB_MESSAGE stubmsg, unsigned char *buffer)
RPC_BINDING_HANDLE WINAPI NDRCContextBinding(NDR_CCONTEXT CContext)
void WINAPI NdrFullPointerXlatFree(PFULL_PTR_XLAT_TABLES pXlatTables)
PFULL_PTR_XLAT_TABLES WINAPI NdrFullPointerXlatInit(ULONG NumberOfPointers, XLAT_SIDE XlatSide)
void(WINAPI * NDR_BUFFERSIZE)(PMIDL_STUB_MESSAGE, unsigned char *, PFORMAT_STRING)
static PFORMAT_STRING ComputeConformance(PMIDL_STUB_MESSAGE pStubMsg, unsigned char *pMemory, PFORMAT_STRING pFormat, ULONG def)
unsigned char *(WINAPI * NDR_UNMARSHALL)(PMIDL_STUB_MESSAGE, unsigned char **, PFORMAT_STRING, unsigned char)
static PFORMAT_STRING ComputeVariance(PMIDL_STUB_MESSAGE pStubMsg, unsigned char *pMemory, PFORMAT_STRING pFormat, ULONG def)
unsigned char *(WINAPI * NDR_MARSHALL)(PMIDL_STUB_MESSAGE, unsigned char *, PFORMAT_STRING)
void(WINAPI * NDR_FREE)(PMIDL_STUB_MESSAGE, unsigned char *, PFORMAT_STRING)
static unsigned char * call_unmarshaller(PMIDL_STUB_MESSAGE pStubMsg, unsigned char **ppMemory, const NDR_PARAM_OIF *param, unsigned char fMustAlloc)
static BOOL param_needs_alloc(PARAM_ATTRIBUTES attr)
CLIENT_CALL_RETURN WINAPIV NdrAsyncClientCall(PMIDL_STUB_DESC desc, PFORMAT_STRING format,...)
#define ARG_FROM_OFFSET(args, offset)
static void call_freer(PMIDL_STUB_MESSAGE pStubMsg, unsigned char *pMemory, const NDR_PARAM_OIF *param)
static BOOL is_oicf_stubdesc(const PMIDL_STUB_DESC pStubDesc)
void client_do_args(PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat, enum stubless_phase phase, void **fpu_args, unsigned short number_of_params, unsigned char *pRetVal)
static DWORD calc_arg_size(MIDL_STUB_MESSAGE *pStubMsg, PFORMAT_STRING pFormat)
static BOOL is_by_value(PFORMAT_STRING format)
void WINAPI NdrServerCall(PRPC_MESSAGE msg)
static LONG_PTR do_ndr_client_call(const MIDL_STUB_DESC *stub_desc, const PFORMAT_STRING format, const PFORMAT_STRING handle_format, void **stack_top, void **fpu_stack, MIDL_STUB_MESSAGE *stub_msg, unsigned short procedure_number, unsigned short stack_size, unsigned int number_of_params, INTERPRETER_OPT_FLAGS Oif_flags, INTERPRETER_OPT_FLAGS2 ext_flags, const NDR_PROC_HEADER *proc_header)
LONG WINAPI NdrStubCall(struct IRpcStubBuffer *This, struct IRpcChannelBuffer *channel, PRPC_MESSAGE msg, DWORD *phase)
static handle_t client_get_handle(const MIDL_STUB_MESSAGE *pStubMsg, const NDR_PROC_HEADER *pProcHeader, const PFORMAT_STRING pFormat)
CLIENT_CALL_RETURN WINAPIV NdrClientCall2(PMIDL_STUB_DESC desc, PFORMAT_STRING format,...)
RPC_STATUS NdrpCompleteAsyncClientCall(RPC_ASYNC_STATE *pAsync, void *Reply)
static const char * debugstr_INTERPRETER_OPT_FLAGS(INTERPRETER_OPT_FLAGS Oi2Flags)
LONG WINAPI NdrStubCall2(struct IRpcStubBuffer *pThis, struct IRpcChannelBuffer *pChannel, PRPC_MESSAGE pRpcMsg, DWORD *pdwStubPhase)
static void client_free_handle(PMIDL_STUB_MESSAGE pStubMsg, const NDR_PROC_HEADER *pProcHeader, PFORMAT_STRING pFormat, handle_t hBinding)
void WINAPI NdrServerCallAll(PRPC_MESSAGE msg)
RPCRTAPI LONG RPC_ENTRY NdrAsyncStubCall(struct IRpcStubBuffer *pThis, struct IRpcChannelBuffer *pChannel, PRPC_MESSAGE pRpcMsg, DWORD *pdwStubPhase)
static unsigned char * call_marshaller(PMIDL_STUB_MESSAGE pStubMsg, unsigned char *pMemory, const NDR_PARAM_OIF *param)
void WINAPI NdrRpcSmSetClientToOsf(PMIDL_STUB_MESSAGE pMessage)
static LONG_PTR * stub_do_args(MIDL_STUB_MESSAGE *pStubMsg, PFORMAT_STRING pFormat, enum stubless_phase phase, unsigned short number_of_params)
static unsigned int type_stack_size(unsigned char fc)
static const char * debugstr_PROC_PF(PARAM_ATTRIBUTES param_attributes)
LONG_PTR __cdecl call_server_func(SERVER_ROUTINE func, unsigned char *args, unsigned short stack_size)
static BOOL param_is_out_basetype(PARAM_ATTRIBUTES attr)
LONG_PTR CDECL DECLSPEC_HIDDEN ndr_client_call(PMIDL_STUB_DESC pStubDesc, PFORMAT_STRING pFormat, void **stack_top, void **fpu_stack)
static void CALLBACK ndr_client_call_finally(BOOL normal, void *arg)
static void do_ndr_async_client_call(const MIDL_STUB_DESC *pStubDesc, PFORMAT_STRING pFormat, void **stack_top)
void WINAPI NdrServerCall2(PRPC_MESSAGE pRpcMsg)
static size_t get_handle_desc_size(const NDR_PROC_HEADER *proc_header, PFORMAT_STRING format)
PFORMAT_STRING convert_old_args(PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat, unsigned int stack_size, BOOL object_proc, void *buffer, unsigned int size, unsigned int *count)
LONG_PTR CDECL DECLSPEC_HIDDEN ndr_async_client_call(PMIDL_STUB_DESC pStubDesc, PFORMAT_STRING pFormat, void **stack_top)
RPC_STATUS NdrpCompleteAsyncServerCall(RPC_ASYNC_STATE *pAsync, void *Reply)
static void call_buffer_sizer(PMIDL_STUB_MESSAGE pStubMsg, unsigned char *pMemory, const NDR_PARAM_OIF *param)
static size_t basetype_arg_size(unsigned char fc)
void RPC_ENTRY NdrAsyncServerCall(PRPC_MESSAGE pRpcMsg)
struct _NDR_PROC_HEADER_RPC NDR_PROC_HEADER_RPC
struct _NDR_EHD_CONTEXT NDR_EHD_CONTEXT
struct _NDR_PARAM_OI_OTHER NDR_PARAM_OI_OTHER
struct _NDR_PARAM_OI_BASETYPE NDR_PARAM_OI_BASETYPE
struct _NDR_EHD_PRIMITIVE NDR_EHD_PRIMITIVE
struct _NDR_PROC_HEADER NDR_PROC_HEADER
struct _NDR_EHD_GENERIC NDR_EHD_GENERIC
struct _NDR_PROC_PARTIAL_OIF_HEADER NDR_PROC_PARTIAL_OIF_HEADER
#define Oi_HAS_COMM_OR_FAULT
#define Oi_RPCSS_ALLOC_USED
#define NDR_CONTEXT_HANDLE_CANNOT_BE_NULL
@ FC_RETURN_PARAM_BASETYPE
@ FC_IN_PARAM_NO_FREE_INST
#define FC_SIMPLE_POINTER
#define HANDLE_PARAM_IS_VIA_PTR
#define __FINALLY_CTX(func, ctx)
RPC_STATUS WINAPI I_RpcGetBuffer(PRPC_MESSAGE pMsg)
RPC_STATUS WINAPI I_RpcSend(PRPC_MESSAGE pMsg)
RPC_STATUS WINAPI I_RpcAsyncSetHandle(PRPC_MESSAGE pMsg, PRPC_ASYNC_STATE pAsync)
RPC_STATUS WINAPI I_RpcReceive(PRPC_MESSAGE pMsg)
RPC_BINDING_HANDLE WINAPI I_RpcGetCurrentCallHandle(void)
struct _RPC_MESSAGE * PRPC_MESSAGE
LONG(__RPC_API * SERVER_ROUTINE)()
RPCRTAPI unsigned char *RPC_ENTRY NdrNsGetBuffer(PMIDL_STUB_MESSAGE pStubMsg, ULONG BufferLength, RPC_BINDING_HANDLE Handle)
#define NDR_LOCAL_DATA_REPRESENTATION
struct _MIDL_STUB_MESSAGE * PMIDL_STUB_MESSAGE
RPCRTAPI void RPC_ENTRY NdrRpcSmClientFree(void *NodeToFree)
RPCRTAPI unsigned char *RPC_ENTRY NdrNsSendReceive(PMIDL_STUB_MESSAGE pStubMsg, unsigned char *pBufferEnd, RPC_BINDING_HANDLE *pAutoHandle)
RPCRTAPI void RPC_ENTRY NdrRpcSsEnableAllocate(PMIDL_STUB_MESSAGE pMessage)
const unsigned char * PFORMAT_STRING
#define NDRSContextValue(hContext)
RPCRTAPI void *RPC_ENTRY NdrRpcSmClientAllocate(SIZE_T Size) __WINE_ALLOC_SIZE(1)
void WINAPI I_RpcFree(void *Object)
void *WINAPI I_RpcAllocate(unsigned int Size)
void DECLSPEC_NORETURN WINAPI RpcRaiseException(RPC_STATUS exception)
static calc_node_t * pop(void)
static void push(calc_node_t *op)
unsigned char HasNewCorrDesc
unsigned char ServerMustSize
unsigned char HasAsyncHandle
unsigned char ClientMustSize
unsigned char HasExtensions
unsigned char HasAsyncUuid
unsigned short IsSimpleRef
unsigned short ServerAllocSize
unsigned short SaveForAsyncFinish
unsigned short IsBasetype
unsigned short IsDontCallFreeInst
GENERIC_BINDING_ROUTINE pfnBind
GENERIC_UNBIND_ROUTINE pfnUnbind
const unsigned short * FmtStringOffset
const STUB_THUNK * ThunkTable
const SERVER_ROUTINE * DispatchTable
PMIDL_STUB_DESC pStubDesc
PFORMAT_STRING ProcString
union _MIDL_STUB_DESC::@3221 IMPLICIT_HANDLE_INFO
const COMM_FAULT_OFFSETS * CommFaultOffsets
unsigned char CorrDespIncrement
struct _FULL_PTR_XLAT_TABLES * FullPtrXlatTables
unsigned char * BufferEnd
const struct _MIDL_STUB_DESC * StubDesc
unsigned char * BufferStart
unsigned int fHasNewCorrDesc
unsigned char flag_and_size
unsigned char binding_routine_pair_index
RPC_NOTIFICATION_TYPES NotificationType
unsigned int BufferLength
void * RpcInterfaceInformation
RPC_BINDING_HANDLE Handle
RPC_BINDING_HANDLE hBinding
MIDL_STUB_MESSAGE * pStubMsg
unsigned short stack_size
PFORMAT_STRING pHandleFormat
PFORMAT_STRING pParamFormat
ULONG_PTR NdrCorrCache[256]
unsigned int number_of_params
const NDR_PROC_HEADER * pProcHeader
MIDL_STUB_MESSAGE * stub_msg
INTERPRETER_OPT_FLAGS2 ext_flags
PFORMAT_STRING handle_format
const NDR_PROC_HEADER * proc_header
INTERPRETER_OPT_FLAGS Oif_flags
ecx edi movl ebx edx edi decl ecx esi eax jecxz decl eax andl eax esi movl edx movl TEMP incl eax andl eax ecx incl ebx testl eax jnz xchgl ecx incl TEMP esp ecx subl ebx pushl ecx ecx edx ecx shrl ecx mm0 mm4 mm0 mm4 mm1 mm5 mm1 mm5 mm2 mm6 mm2 mm6 mm3 mm7 mm3 mm7 paddd mm0 paddd mm4 paddd mm0 paddd mm4 paddd mm0 paddd mm4 movq mm1 movq mm5 psrlq mm1 psrlq mm5 paddd mm0 paddd mm4 psrad mm0 psrad mm4 packssdw mm0 packssdw mm4 mm1 punpckldq mm0 pand mm1 pand mm0 por mm1 movq edi esi edx edi decl ecx jnz popl ecx andl ecx jecxz mm0 mm0 mm1 mm1 mm2 mm2 mm3 mm3 paddd mm0 paddd mm0 paddd mm0 movq mm1 psrlq mm1 paddd mm0 psrad mm0 packssdw mm0 movd eax movw edi esi edx edi
ecx edi movl ebx edx edi decl ecx esi eax jecxz decl eax andl eax esi movl eax
ecx edi movl ebx edx edi decl ecx esi eax jecxz decl eax andl eax esi movl edx movl TEMP incl eax andl eax ecx incl ebx testl eax jnz xchgl ecx incl TEMP esi
ecx edi movl ebx edx edi decl ecx esi eax jecxz decl eax andl eax esi movl edx movl TEMP incl eax andl eax ecx incl ebx testl eax jnz xchgl ecx incl TEMP esp ecx subl ebx pushl ecx ecx edx ecx shrl ecx mm0 mm4 mm0 mm4 mm1 mm5 mm1 mm5 mm2 mm6 mm2 mm6 mm3 mm7 mm3 mm7 paddd mm0 paddd mm4 paddd mm0 paddd mm4 paddd mm0 paddd mm4 movq mm1 movq mm5 psrlq mm1 psrlq mm5 paddd mm0 paddd mm4 psrad mm0 psrad mm4 packssdw mm0 packssdw mm4 mm1 punpckldq mm0 pand mm1 pand mm0 por mm1 movq edi esi edx edi decl ecx jnz popl ecx andl ecx jecxz mm0 mm0 mm1 mm1 mm2 mm2 mm3 mm3 paddd mm0 paddd mm0 paddd mm0 movq mm1 psrlq mm1 paddd mm0 psrad mm0 packssdw mm0 movd eax movw edi esi edx esi movl ecx mm0 mm4 mm0 mm4 mm1 mm5 mm1 mm5 mm2 mm6 mm2 mm6 mm3 mm7 mm3 mm7 paddd mm0 paddd mm4 paddd mm0 paddd mm4 paddd mm0 paddd mm4 movq mm1 movq mm5 psrlq mm1 psrlq mm5 paddd mm1 paddd mm5 psrad mm1 psrad mm5 packssdw mm1 packssdw mm5 psubd mm0 psubd mm4 psubsw mm0 psubsw mm4 mm1 punpckldq mm0 pand mm1 pand mm0 por mm1 movq edi subl esi addl edx edi decl ecx jnz mm0 mm0 mm1 mm1 mm2 mm2 mm3 mm3 paddd mm0 paddd mm0 paddd mm0 movq mm1 psrlq mm1 paddd mm1 psrad mm1 packssdw mm1 psubd mm0 psubsw mm0 movd eax movw edi emms popl ebx popl esi popl edi mov ebp
static unsigned stack_offset(compile_ctx_t *ctx)
static int Save(const char **args)
#define __ms_va_end(list)
#define __ms_va_start(list, arg)
#define RPC_X_SS_IN_NULL_CONTEXT
#define RPC_X_BAD_STUB_DATA
#define RPC_S_INVALID_ASYNC_HANDLE
#define RPC_X_WRONG_STUB_VERSION
#define RPC_X_NULL_REF_POINTER
#define RPC_S_INTERNAL_ERROR