| Server IP : 216.92.14.13 / Your IP : 216.73.216.171 Web Server : Apache System : Linux vps4089.pairvps.com 5.15.0-190-generic #200-Ubuntu SMP Fri Aug 7 15:06:04 UTC 2026 x86_64 User : rmlac2fmr ( 1040637) PHP Version : 8.2.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/include/schroedinger-1.0/schroedinger/ |
Upload File : |
#ifndef _SCHRO_DOMAIN_H_
#define _SCHRO_DOMAIN_H_
#include <schroedinger/schroasync.h>
typedef struct _SchroMemoryDomain SchroMemoryDomain;
#ifdef SCHRO_ENABLE_UNSTABLE_API
#define SCHRO_MEMORY_DOMAIN_SLOTS 1000
struct _SchroMemoryDomain {
SchroMutex * mutex;
unsigned int flags;
void *(*alloc) (int size);
void *(*alloc_2d) (int depth, int width, int height);
void (*free) (void *ptr, int size);
struct {
unsigned int flags;
void *ptr;
int size;
void *priv;
} slots[SCHRO_MEMORY_DOMAIN_SLOTS];
};
#define SCHRO_EXEC_DOMAIN_CPU 0x0001
#define SCHRO_EXEC_DOMAIN_CUDA 0x0002
#define SCHRO_EXEC_DOMAIN_OPENGL 0x0003
#define SCHRO_MEMORY_DOMAIN_CPU 0x0001
#define SCHRO_MEMORY_DOMAIN_CUDA 0x0002
#define SCHRO_MEMORY_DOMAIN_OPENGL 0x0004
#define SCHRO_MEMORY_DOMAIN_SLOT_ALLOCATED 0x0001
#define SCHRO_MEMORY_DOMAIN_SLOT_IN_USE 0x0002
SchroMemoryDomain * schro_memory_domain_new (void);
SchroMemoryDomain * schro_memory_domain_new_local (void);
void schro_memory_domain_free (SchroMemoryDomain *domain);
void * schro_memory_domain_alloc (SchroMemoryDomain *domain, int size);
void * schro_memory_domain_alloc_2d (SchroMemoryDomain *domain,
int depth, int width, int height);
void schro_memory_domain_memfree (SchroMemoryDomain *domain, void *ptr);
#endif
#endif