You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.4 KiB
56 lines
1.4 KiB
2 years ago
|
/**
|
||
|
* Copyright 2017-2018 NVIDIA Corporation. All rights reserved.
|
||
|
*
|
||
|
* Please refer to the NVIDIA end user license agreement (EULA) associated
|
||
|
* with this source code for terms and conditions that govern your use of
|
||
|
* this software. Any use, reproduction, disclosure, or distribution of
|
||
|
* this software and related documentation outside the terms of the EULA
|
||
|
* is strictly prohibited.
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#ifndef HELPER_MULTIPROCESS_H
|
||
|
#define HELPER_MULTIPROCESS_H
|
||
|
|
||
|
#if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
|
||
|
#ifndef WIN32_LEAN_AND_MEAN
|
||
|
#define WIN32_LEAN_AND_MEAN
|
||
|
#endif
|
||
|
#include <windows.h>
|
||
|
#else
|
||
|
#include <fcntl.h>
|
||
|
#include <sys/mman.h>
|
||
|
#include <unistd.h>
|
||
|
#include <errno.h>
|
||
|
#include <sys/wait.h>
|
||
|
#endif
|
||
|
|
||
|
typedef struct sharedMemoryInfo_st {
|
||
|
void *addr;
|
||
|
size_t size;
|
||
|
#if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
|
||
|
HANDLE shmHandle;
|
||
|
#else
|
||
|
int shmFd;
|
||
|
#endif
|
||
|
} sharedMemoryInfo;
|
||
|
|
||
|
int sharedMemoryCreate(const char *name, size_t sz, sharedMemoryInfo *info);
|
||
|
|
||
|
int sharedMemoryOpen(const char *name, size_t sz, sharedMemoryInfo *info);
|
||
|
|
||
|
void sharedMemoryClose(sharedMemoryInfo *info);
|
||
|
|
||
|
|
||
|
#if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
|
||
|
typedef PROCESS_INFORMATION Process;
|
||
|
#else
|
||
|
typedef pid_t Process;
|
||
|
#endif
|
||
|
|
||
|
int spawnProcess(Process *process, const char *app, char * const *args);
|
||
|
|
||
|
int waitProcess(Process *process);
|
||
|
|
||
|
#endif // HELPER_MULTIPROCESS_H
|