44 OS_RETURN_CODE retval = OS_OpenFD(filename.c_str(), OS_FILE_OPEN_TYPE_READ | OS_FILE_OPEN_TYPE_WRITE, 0, &fd);
46 if ( !OS_RETURN_CODE_IS_SUCCESS(retval) ) {
48 fprintf(stderr,
"Failed to open file for IPC '%s' (%d): %s\n", filename.c_str(), retval.os_specific_err,
49 strerror(retval.os_specific_err));
54 retval = OS_MapFileToMemory(NATIVE_PID_CURRENT, OS_PAGE_PROTECTION_TYPE_READ | OS_PAGE_PROTECTION_TYPE_WRITE,
57 if ( !OS_RETURN_CODE_IS_SUCCESS(retval) ) {
59 fprintf(stderr,
"mmap failed (%d): %s\n", retval.os_specific_err, strerror(retval.os_specific_err));
64 tunnel =
new TunnelType(shmPtr);
65 shmSize = tunnel->getTunnelSize();
70 retval = OS_MapFileToMemory(NATIVE_PID_CURRENT, OS_PAGE_PROTECTION_TYPE_READ | OS_PAGE_PROTECTION_TYPE_WRITE,
71 shmSize, OS_MEMORY_FLAGS_SHARED, fd, 0, &shmPtr);
73 if ( !OS_RETURN_CODE_IS_SUCCESS(retval) ) {
75 fprintf(stderr,
"mmap failed (%d): %s\n", retval.os_specific_err, strerror(retval.os_specific_err));
82 tunnel->initialize(shmPtr);