Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

gm_directcopy.c File Reference

#include "gm_debug.h"
#include "gm_internal.h"

Functions

GM_ENTRY_POINT gm_status_t gm_directcopy_get (struct gm_port *p, void *source_addr, void *target_addr, gm_size_t length, unsigned int source_instance_id, unsigned int source_port_id)

Detailed Description

This file contains the GM API function gm_directcopy_get().


Function Documentation

GM_ENTRY_POINT gm_status_t gm_directcopy_get struct gm_port *    p,
void *    source_addr,
void *    target_addr,
gm_size_t    length,
unsigned int    source_instance_id,
unsigned int    source_port_id
 

gm_directcopy_get() copies data of length length bytes, specified at the address source_addr of the local process using the port port_id of the board source_instance_id to the memory area specified at the address target_addr of the current process. This implementation bypasses all of the protection of the operating system to provide a memory copy from one process's memory space to another one. The memory areas must have been registered by GM prior to calling this function in order to lock memory pages at their physical locations. There are no alignment or length constraints but the maximum performance will be reached with aligned addresses on both sides. This function is supported exclusively on Linux.

Return values:
GM_SUCCESS  Operation completed successfully.
GM_FAILURE  Error occurred.
Parameters:
p  (IN) Handle to the GM port.
source_addr  (IN) Address of the data to be copied.
target_addr  (IN) Target address of the copied data.
length  (IN) The length (in bytes) of the area to be copied.
source_instance_id  (IN) The id of the interface.
source_port_id  (IN) The port id of the interface.
Author:
Patrick Geoffray
Version:
GM_API_VERSION (as defined in gm.h)


Generated on Mon Nov 3 15:39:25 2003 for GM by doxygen1.2.15