FreeRDP
ndr_pointer.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <winpr/rpc.h>
#include "ndr_pointer.h"
#include "ndr_private.h"

Functions

PFORMAT_STRING NdrpSkipPointerLayout (PFORMAT_STRING pFormat)
 
void NdrpPointerBufferSize (unsigned char *pMemory, PFORMAT_STRING pFormat, PMIDL_STUB_MESSAGE pStubMsg)
 
PFORMAT_STRING NdrpEmbeddedRepeatPointerBufferSize (PMIDL_STUB_MESSAGE pStubMsg, unsigned char *pMemory, PFORMAT_STRING pFormat, unsigned char **ppMemory)
 
PFORMAT_STRING NdrpEmbeddedPointerBufferSize (PMIDL_STUB_MESSAGE pStubMsg, unsigned char *pMemory, PFORMAT_STRING pFormat)
 
void NdrPointerBufferSize (PMIDL_STUB_MESSAGE pStubMsg, unsigned char *pMemory, PFORMAT_STRING pFormat)
 
void NdrByteCountPointerBufferSize (PMIDL_STUB_MESSAGE pStubMsg, unsigned char *pMemory, PFORMAT_STRING pFormat)
 

Function Documentation

void NdrByteCountPointerBufferSize ( PMIDL_STUB_MESSAGE  pStubMsg,
unsigned char *  pMemory,
PFORMAT_STRING  pFormat 
)
PFORMAT_STRING NdrpEmbeddedPointerBufferSize ( PMIDL_STUB_MESSAGE  pStubMsg,
unsigned char *  pMemory,
PFORMAT_STRING  pFormat 
)

Here is the call graph for this function:

Here is the caller graph for this function:

PFORMAT_STRING NdrpEmbeddedRepeatPointerBufferSize ( PMIDL_STUB_MESSAGE  pStubMsg,
unsigned char *  pMemory,
PFORMAT_STRING  pFormat,
unsigned char **  ppMemory 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void NdrPointerBufferSize ( PMIDL_STUB_MESSAGE  pStubMsg,
unsigned char *  pMemory,
PFORMAT_STRING  pFormat 
)

Here is the call graph for this function:

void NdrpPointerBufferSize ( unsigned char *  pMemory,
PFORMAT_STRING  pFormat,
PMIDL_STUB_MESSAGE  pStubMsg 
)

pointer_type<1> pointer_attributes<1> simple_type<1> FC_PAD pointer_type<1> pointer_attributes<1> offset_to_complex_description<2>

Here is the caller graph for this function:

PFORMAT_STRING NdrpSkipPointerLayout ( PFORMAT_STRING  pFormat)

WinPR: Windows Portable Runtime Microsoft Remote Procedure Call (MSRPC)

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Pointer Layout: http://msdn.microsoft.com/en-us/library/windows/desktop/aa374376/

pointer_layout<>:

FC_PP FC_PAD { pointer_instance_layout<> }* FC_END

pointer_instance<8>:

offset_to_pointer_in_memory<2> offset_to_pointer_in_buffer<2> pointer_description<4>

FC_NO_REPEAT FC_PAD pointer_instance<8>

FC_FIXED_REPEAT FC_PAD iterations<2> increment<2> offset_to_array<2> number_of_pointers<2> { pointer_instance<8> }*

FC_VARIABLE_REPEAT (FC_FIXED_OFFSET | FC_VARIABLE_OFFSET) FC_PAD ?! increment<2> offset_to_array<2> number_of_pointers<2> { pointer_instance<8> }*