hs-mesos-0.20.1.0: ext/types.h
#include <mesos/mesos.hpp>
// some_header_file.h
#ifndef HS_MESOS_WRAPPERS
#define HS_MESOS_WRAPPERS
typedef mesos::FrameworkID *FrameworkIDPtr;
typedef mesos::OfferID *OfferIDPtr;
typedef mesos::SlaveID *SlaveIDPtr;
typedef mesos::TaskID *TaskIDPtr;
typedef mesos::ExecutorID *ExecutorIDPtr;
typedef mesos::ContainerID *ContainerIDPtr;
typedef mesos::FrameworkInfo *FrameworkInfoPtr;
typedef mesos::CommandInfo *CommandInfoPtr;
typedef mesos::CommandInfo_URI *CommandInfo_URIPtr;
typedef mesos::ExecutorInfo *ExecutorInfoPtr;
typedef mesos::MasterInfo *MasterInfoPtr;
typedef mesos::SlaveInfo *SlaveInfoPtr;
typedef mesos::Value *ValuePtr;
typedef mesos::Value_Scalar *Value_ScalarPtr;
typedef mesos::Value_Range *ValueRangePtr;
typedef mesos::Value_Ranges *Value_RangesPtr;
typedef mesos::Value_Set *Value_SetPtr;
typedef mesos::Value_Text *Value_TextPtr;
typedef mesos::Attribute *AttributePtr;
typedef mesos::Resource *ResourcePtr;
typedef mesos::ResourceStatistics *ResourceStatisticsPtr;
typedef mesos::ResourceUsage *ResourceUsagePtr;
typedef mesos::Request *RequestPtr;
typedef mesos::Offer *OfferPtr;
typedef mesos::TaskInfo *TaskInfoPtr;
typedef mesos::TaskStatus *TaskStatusPtr;
typedef mesos::Filters *FiltersPtr;
typedef mesos::Environment *EnvironmentPtr;
typedef mesos::Environment_Variable *EnvironmentVariablePtr;
typedef mesos::Parameter *ParameterPtr;
typedef mesos::Parameters *ParametersPtr;
typedef mesos::Credential *CredentialPtr;
typedef mesos::CommandInfo_URI *CommandURIPtr;
typedef mesos::HealthCheck *HealthCheckPtr;
typedef mesos::ContainerInfo *ContainerInfoPtr;
typedef mesos::PerfStatistics *PerfStatisticsPtr;
typedef mesos::Volume *VolumePtr;
typedef mesos::ContainerInfo *ContainerInfoPtr;
typedef std::string *StdStringPtr;
extern "C" {
extern FrameworkIDPtr toFrameworkID(char* bs, int len);
extern int fromFrameworkID(FrameworkIDPtr p, char** poke);
extern void destroyFrameworkID(FrameworkIDPtr p);
extern OfferIDPtr toOfferID(char* bs, int len);
extern int fromOfferID(OfferIDPtr p, char** poke);
extern void destroyOfferID(OfferIDPtr p);
extern SlaveIDPtr toSlaveID(char* bs, int len);
extern int fromSlaveID(SlaveIDPtr p, char** poke);
extern void destroySlaveID(SlaveIDPtr p);
extern TaskIDPtr toTaskID(char* bs, int len);
extern int fromTaskID(TaskIDPtr p, char** poke);
extern void destroyTaskID(TaskIDPtr p);
extern ExecutorIDPtr toExecutorID(char* bs, int len);
extern int fromExecutorID(ExecutorIDPtr p, char** poke);
extern void destroyExecutorID(ExecutorIDPtr p);
extern ContainerIDPtr toContainerID(char* bs, int len);
extern int fromContainerID(ContainerIDPtr p, char** poke);
extern void destroyContainerID(ContainerIDPtr p);
extern FrameworkInfoPtr toFrameworkInfo(char* user,
int userLen,
char* name,
int nameLen,
FrameworkIDPtr* frameworkID,
double* failoverTimeout,
bool* checkpoint,
char* role,
int roleLen,
char* hostname,
int hostLen,
char* principal,
int principalLen);
extern void fromFrameworkInfo(FrameworkInfoPtr info,
char** user,
int* userLen,
char** name,
int* nameLen,
FrameworkIDPtr* frameworkID,
bool* failoverSet,
double* failoverTimeout,
bool* checkpointSet,
bool* checkpoint,
char** role,
int* roleLen,
char** hostname,
int* hostLen,
char** principal,
int* principalLen);
extern void destroyFrameworkInfo(FrameworkInfoPtr info);
extern CommandURIPtr toCommandURI(char* cmd,
int cmdLen,
bool* executable,
bool* extract);
extern void fromCommandURI(CommandURIPtr commandURI,
char** cmd,
int* cmdLen,
bool* executableSet,
bool* executable,
bool* extractSet,
bool* extract);
extern void destroyCommandURI(CommandURIPtr commandURI);
extern MasterInfoPtr toMasterInfo(char* infoID,
int infoIDLen,
unsigned int infoIP,
unsigned int* infoPort,
char* pid,
int pidLen,
char* hostname,
int hostnameLen);
extern void fromMasterInfo(MasterInfoPtr info,
char** infoID,
int* infoIDLen,
unsigned int* infoIP,
unsigned int* infoPort,
char** pid,
int* pidLen,
char** hostname,
int* hostnameLen);
extern void destroyMasterInfo(MasterInfoPtr info);
extern SlaveInfoPtr toSlaveInfo(char* hostname,
int hostnameLen,
unsigned int* port,
ResourcePtr* resources,
int resourcesLen,
AttributePtr* attributes,
int attributeLen,
SlaveIDPtr slaveID,
bool* checkpoint);
extern void fromSlaveInfo(SlaveInfoPtr slaveInfo,
char** hostname,
int* hostnameLen,
bool* portSet,
unsigned int* port,
ResourcePtr** resources,
int* resourcesLen,
AttributePtr** attributes,
int* attributeLen,
SlaveIDPtr* slaveID,
bool* checkpointSet,
bool* checkpoint);
extern void destroySlaveInfo(SlaveInfoPtr slaveInfo);
extern OfferPtr toOffer(OfferIDPtr offerID,
FrameworkIDPtr frameworkID,
SlaveIDPtr slaveID,
char* hostname,
int hostnameLen,
ResourcePtr* resources,
int resourceLen,
AttributePtr* attributes,
int attributeLen,
ExecutorIDPtr* executors,
int executorLen);
extern void fromOffer(OfferPtr offer,
OfferIDPtr* offerID,
FrameworkIDPtr* frameworkID,
SlaveIDPtr* slaveID,
char** hostname,
int* hostnameLen,
ResourcePtr** resources,
int* resourceLen,
AttributePtr** attributes,
int* attributeLen,
ExecutorIDPtr** executors,
int* executorLen);
extern void destroyOffer(OfferPtr offer);
extern TaskInfoPtr toTaskInfo(char* infoName,
int infoNameLen,
TaskIDPtr taskID,
SlaveIDPtr slaveID,
ResourcePtr* resources,
int resourcesLen,
ExecutorInfoPtr executorInfo,
CommandInfoPtr commandInfo,
char* data,
int dataLen,
ContainerInfoPtr containerInfo,
HealthCheckPtr healthCheck
);
extern void fromTaskInfo(TaskInfoPtr taskInfo,
char** infoName,
int* infoNameLen,
TaskIDPtr* taskID,
SlaveIDPtr* slaveID,
ResourcePtr** resources,
int* resourcesLen,
ExecutorInfoPtr* executorInfo,
CommandInfoPtr* commandInfo,
char** data,
int* dataLen,
ContainerInfoPtr* containerInfo,
HealthCheckPtr* healthCheck
);
extern void destroyTaskInfo(TaskInfoPtr taskInfo);
extern TaskStatusPtr toTaskStatus(TaskIDPtr taskID,
int state,
char* message,
int messageLen,
char* data,
int dataLen,
SlaveIDPtr slaveID,
ExecutorIDPtr executorID,
double* timestamp,
bool* healthCheck);
extern void fromTaskStatus(TaskStatusPtr status,
TaskIDPtr* taskID,
int* state,
char** message,
int* messageLen,
char** data,
int* dataLen,
SlaveIDPtr* slaveID,
ExecutorIDPtr* executorID,
bool* timestampSet,
double* timestamp,
bool* healthCheckSet,
bool* healthCheck);
extern void destroyTaskStatus(TaskStatusPtr taskStatus);
extern FiltersPtr toFilters(double* refuseSeconds);
extern void fromFilters(FiltersPtr filters,
bool* refusalSet,
double* refuseSeconds);
extern void destroyFilters(FiltersPtr filters);
extern EnvironmentVariablePtr toEnvironmentVariable(char* key,
int keyLen,
char* value,
int valueLen);
extern void fromEnvironmentVariable(EnvironmentVariablePtr var,
char** key,
int* keyLen,
char** value,
int* valueLen);
extern void destroyEnvironmentVariable(EnvironmentVariablePtr env);
extern EnvironmentPtr toEnvironment(EnvironmentVariablePtr* env,
int envLen);
extern void fromEnvironment(EnvironmentPtr env,
EnvironmentVariablePtr** variables,
int* envLen);
extern void destroyEnvironment(EnvironmentPtr env);
extern CredentialPtr toCredential(char* principal,
int principalLen,
char* secret,
int secretLen);
extern void fromCredential(
CredentialPtr credential,
char** principal,
int* principalLen,
char** secret,
int* secretLen);
extern void destroyCredential(CredentialPtr credential);
extern ResourcePtr toResource(char* name,
int nameLen,
ValuePtr value,
char* role,
int roleLen);
extern void fromResource(ResourcePtr resource,
char** name,
int* nameLen,
ValuePtr* value,
char** role,
int* roleLen);
extern void destroyResource(ResourcePtr resource);
extern ExecutorInfoPtr toExecutorInfo(ExecutorIDPtr executorID,
FrameworkIDPtr frameworkID,
CommandInfoPtr commandInfo,
ContainerInfoPtr containerInfo,
ResourcePtr* resources,
int resourceLen,
char* name,
int nameLen,
char* source,
int sourceLen,
char* data,
int dataLen);
extern void fromExecutorInfo(ExecutorInfoPtr executorInfo,
ExecutorIDPtr* executorID,
FrameworkIDPtr* frameworkID,
CommandInfoPtr* commandInfo,
ContainerInfoPtr* containerInfo,
ResourcePtr** resources,
int* resourcesLen,
char** name,
int* nameLen,
char** source,
int* sourceLen,
char** data,
int* dataLen);
extern void destroyExecutorInfo(ExecutorInfoPtr executorInfo);
extern AttributePtr toAttribute(char* name,
int nameLen,
ValuePtr value);
extern void fromAttribute(AttributePtr attribute,
char** name,
int* nameLen,
ValuePtr* value);
extern void destroyAttribute(AttributePtr attribute);
extern RequestPtr toRequest(SlaveIDPtr slaveID,
ResourcePtr* resources,
int resourceLen);
extern void fromRequest(RequestPtr request,
SlaveIDPtr* slaveID,
ResourcePtr** resources,
int* resourceLen);
extern void destroyRequest(RequestPtr request);
extern ValuePtr toValue(int type,
double scalar,
ValueRangePtr* lows,
int rangeLen,
StdStringPtr* strings,
int stringsLen,
char* text,
int textLen);
extern void fromValue(ValuePtr value,
int* type,
double* scalar,
ValueRangePtr** ranges,
int* rangeLen,
StdStringPtr** strings,
int* stringsLen,
char** text,
int* textLen);
extern void destroyValue(ValuePtr value);
extern CommandInfoPtr toCommandInfo(CommandInfo_URIPtr* uris,
int urisLen,
EnvironmentPtr environment,
bool shell,
char* value,
int valueLen,
StdStringPtr* args,
int argsLen,
char* username,
int usernameLen);
extern void fromCommandInfo(CommandInfoPtr info,
CommandInfo_URIPtr** uris,
int* urisLen,
EnvironmentPtr* environment,
bool* shell,
char** value,
int* valueLen,
StdStringPtr** args,
int* argsLen,
char** username,
int* usernameLen);
extern void destroyCommandInfo(CommandInfoPtr info);
extern ResourceUsagePtr toResourceUsage(SlaveIDPtr slaveID,
FrameworkIDPtr frameworkID,
ExecutorIDPtr executorID,
char* executorName,
int nameLen,
TaskIDPtr taskID,
ResourceStatisticsPtr statistics);
extern void fromResourceUsage(ResourceUsagePtr usage,
SlaveIDPtr* slaveID,
FrameworkIDPtr* frameworkID,
ExecutorIDPtr* executorID,
char** executorName,
int* nameLen,
TaskIDPtr* taskID,
ResourceStatisticsPtr* statistics);
extern void destroyResourceUsage(ResourceUsagePtr usage);
extern OfferPtr toOffer(OfferIDPtr offerID,
FrameworkIDPtr frameworkID,
SlaveIDPtr slaveID,
char* hostname,
int hostnameLen,
ResourcePtr* resources,
int resourcesLen,
AttributePtr* attributes,
int attributeLen,
ExecutorIDPtr* executorIDs,
int idsLen);
void fromOffer(OfferPtr offer,
OfferIDPtr* offerID,
FrameworkIDPtr* frameworkID,
SlaveIDPtr* slaveID,
char** hostname,
int* hostnameLen,
ResourcePtr** resources,
int* resourcesLen,
AttributePtr** attributes,
int* attributesLen,
ExecutorIDPtr** executorIDs,
int* idsLen);
extern void destroyOffer(OfferPtr offer);
extern void destroyResourceStatistics(ResourceStatisticsPtr statistics);
extern ResourceStatisticsPtr toResourceStatistics(double timestamp,
double* cpusUserTimeSecs,
double* cpusSystemTimeSecs,
double cpusLimit,
unsigned int* cpusPeriods,
unsigned int* cpusThrottled,
double* cpusThrottledTimeSecs,
unsigned long* memoryResidentSetSize,
unsigned long* memoryLimitBytes,
unsigned long* memoryFileBytes,
unsigned long* memoryAnonymousBytes,
unsigned long* memoryMappedFileBytes,
PerfStatisticsPtr perfStatistics,
unsigned long* netRxPackets,
unsigned long* netRxBytes,
unsigned long* netRxErrors,
unsigned long* netRxDropped,
unsigned long* netTxPackets,
unsigned long* netTxBytes,
unsigned long* netTxErrors,
unsigned long* netTxDropped
);
extern void fromResourceStatistics(ResourceStatisticsPtr stats,
double* timestamp,
double* cpusUserTimeSecs,
bool* cpusUserTimeSecsSet,
double* cpusSystemTimeSecs,
bool* cpusSystemTimeSecsSet,
double* cpusLimit,
unsigned int* cpusPeriods,
bool* cpusPeriodsSet,
unsigned int* cpusThrottled,
bool* cpusThrottledSet,
double* cpusThrottledTimeSecs,
bool* cpusThrottledTimeSecsSet,
unsigned long* memoryResidentSetSize,
bool* memoryResidentSetSizeSet,
unsigned long* memoryLimitBytes,
bool* memoryLimitBytesSet,
unsigned long* memoryFileBytes,
bool* memoryFileBytesSet,
unsigned long* memoryAnonymousBytes,
bool* memoryAnonymousBytesSet,
unsigned long* memoryMappedFileBytes,
bool* memoryMappedFileBytesSet,
PerfStatisticsPtr* perfStatistics,
unsigned long* netRxPackets,
bool* netRxPacketsSet,
unsigned long* netRxBytes,
bool* netRxBytesSet,
unsigned long* netRxErrors,
bool* netRxErrorsSet,
unsigned long* netRxDropped,
bool* netRxDroppedSet,
unsigned long* netTxPackets,
bool* netTxPacketsSet,
unsigned long* netTxBytes,
bool* netTxBytesSet,
unsigned long* netTxErrors,
bool* netTxErrorsSet,
unsigned long* netTxDropped,
bool* netTxDroppedSet
);
extern ParameterPtr toParameter(char* key,
int keyLen,
char* value,
int valueLen);
extern void fromParameter(ParameterPtr parameter,
char** keyP,
int* keyLenP,
char** valueP,
int* valueLenP);
extern void destroyParameter(ParameterPtr parameter);
extern ParametersPtr toParameters(ParameterPtr* parameters,
int pLen);
extern void fromParameters(ParametersPtr params,
ParameterPtr** parameters,
int* pLen);
extern void destroyParameters(ParametersPtr params);
extern StdStringPtr toStdString(char* str,
int strLen);
extern void fromStdString(StdStringPtr sp,
char** str,
int* strLen);
extern void destroyStdString(StdStringPtr sp);
extern ValueRangePtr toRange(unsigned long low,
unsigned long high);
extern void fromRange(ValueRangePtr range,
unsigned long* lowP,
unsigned long* highP);
extern void destroyRange(ValueRangePtr range);
extern PerfStatisticsPtr toPerfStatistics(
double timestamp,
double duration,
unsigned long* cycles,
unsigned long* stalledCyclesFrontend,
unsigned long* stalledCyclesBackend,
unsigned long* instructions,
unsigned long* cacheReferences,
unsigned long* cacheMisses,
unsigned long* branches,
unsigned long* branchMisses,
unsigned long* busCycles,
unsigned long* refCycles,
double* cpuClock,
double* taskClock,
unsigned long* pageFaults,
unsigned long* minorFaults,
unsigned long* majorFaults,
unsigned long* contextSwitches,
unsigned long* cpuMigrations,
unsigned long* alignmentFaults,
unsigned long* emulationFaults,
unsigned long* l1DcacheLoads,
unsigned long* l1DcacheLoadMisses,
unsigned long* l1DcacheStores,
unsigned long* l1DcacheStoreMisses,
unsigned long* l1DcachePrefetches,
unsigned long* l1DcachePrefetchMisses,
unsigned long* l1IcacheLoads,
unsigned long* l1IcacheLoadMisses,
unsigned long* l1IcachePrefetches,
unsigned long* l1IcachePrefetchMisses,
unsigned long* llcLoads,
unsigned long* llcLoadMisses,
unsigned long* llcStores,
unsigned long* llcStoreMisses,
unsigned long* llcPrefetches,
unsigned long* llcPrefetchMisses,
unsigned long* dtlbLoads,
unsigned long* dtlbLoadMisses,
unsigned long* dtlbStores,
unsigned long* dtlbStoreMisses,
unsigned long* dtlbPrefetches,
unsigned long* dtlbPrefetchMisses,
unsigned long* itlbLoads,
unsigned long* itlbLoadMisses,
unsigned long* branchLoads,
unsigned long* branchLoadMisses,
unsigned long* nodeLoads,
unsigned long* nodeLoadMisses,
unsigned long* nodeStores,
unsigned long* nodeStoreMisses,
unsigned long* nodePrefetches,
unsigned long* nodePrefetchMisses
);
extern void fromPerfStatistics(PerfStatisticsPtr perf,
double* timestamp,
double* duration,
unsigned long* cycles,
bool* cyclesSet,
unsigned long* stalledCyclesFrontend,
bool* stalledCyclesFrontendSet,
unsigned long* stalledCyclesBackend,
bool* stalledCyclesBackendSet,
unsigned long* instructions,
bool* instructionsSet,
unsigned long* cacheReferences,
bool* cacheReferencesSet,
unsigned long* cacheMisses,
bool* cacheMissesSet,
unsigned long* branches,
bool* branchesSet,
unsigned long* branchMisses,
bool* branchMissesSet,
unsigned long* busCycles,
bool* busCyclesSet,
unsigned long* refCycles,
bool* refCyclesSet,
double* cpuClock,
bool* cpuClockSet,
double* taskClock,
bool* taskClockSet,
unsigned long* pageFaults,
bool* pageFaultsSet,
unsigned long* minorFaults,
bool* minorFaultsSet,
unsigned long* majorFaults,
bool* majorFaultsSet,
unsigned long* contextSwitches,
bool* contextSwitchesSet,
unsigned long* cpuMigrations,
bool* cpuMigrationsSet,
unsigned long* alignmentFaults,
bool* alignmentFaultsSet,
unsigned long* emulationFaults,
bool* emulationFaultsSet,
unsigned long* l1DcacheLoads,
bool* l1DcacheLoadsSet,
unsigned long* l1DcacheLoadMisses,
bool* l1DcacheLoadMissesSet,
unsigned long* l1DcacheStores,
bool* l1DcacheStoresSet,
unsigned long* l1DcacheStoreMisses,
bool* l1DcacheStoreMissesSet,
unsigned long* l1DcachePrefetches,
bool* l1DcachePrefetchesSet,
unsigned long* l1DcachePrefetchMisses,
bool* l1DcachePrefetchMissesSet,
unsigned long* l1IcacheLoads,
bool* l1IcacheLoadsSet,
unsigned long* l1IcacheLoadMisses,
bool* l1IcacheLoadMissesSet,
unsigned long* l1IcachePrefetches,
bool* l1IcachePrefetchesSet,
unsigned long* l1IcachePrefetchMisses,
bool* l1IcachePrefetchMissesSet,
unsigned long* llcLoads,
bool* llcLoadsSet,
unsigned long* llcLoadMisses,
bool* llcLoadMissesSet,
unsigned long* llcStores,
bool* llcStoresSet,
unsigned long* llcStoreMisses,
bool* llcStoreMissesSet,
unsigned long* llcPrefetches,
bool* llcPrefetchesSet,
unsigned long* llcPrefetchMisses,
bool* llcPrefetchMissesSet,
unsigned long* dtlbLoads,
bool* dtlbLoadsSet,
unsigned long* dtlbLoadMisses,
bool* dtlbLoadMissesSet,
unsigned long* dtlbStores,
bool* dtlbStoresSet,
unsigned long* dtlbStoreMisses,
bool* dtlbStoreMissesSet,
unsigned long* dtlbPrefetches,
bool* dtlbPrefetchesSet,
unsigned long* dtlbPrefetchMisses,
bool* dtlbPrefetchMissesSet,
unsigned long* itlbLoads,
bool* itlbLoadsSet,
unsigned long* itlbLoadMisses,
bool* itlbLoadMissesSet,
unsigned long* branchLoads,
bool* branchLoadsSet,
unsigned long* branchLoadMisses,
bool* branchLoadMissesSet,
unsigned long* nodeLoads,
bool* nodeLoadsSet,
unsigned long* nodeLoadMisses,
bool* nodeLoadMissesSet,
unsigned long* nodeStores,
bool* nodeStoresSet,
unsigned long* nodeStoreMisses,
bool* nodeStoreMissesSet,
unsigned long* nodePrefetches,
bool* nodePrefetchesSet,
unsigned long* nodePrefetchMisses,
bool* nodePrefetchMissesSet);
extern void destroyPerfStatistics(PerfStatisticsPtr perf);
extern ContainerInfoPtr toContainerInfo (int type,
char* image,
int imageLen,
VolumePtr* volumes,
int volumesLen);
extern void fromContainerInfo (ContainerInfoPtr info,
int* type,
char** image,
int* imageLen,
VolumePtr** volumes,
int* volumesLen);
extern void destroyContainerInfo (ContainerInfoPtr containerInfo);
extern VolumePtr toVolume (char* containerPath,
int containerPathLen,
char* hostPath,
int hostPathLen,
int mode);
extern void fromVolume (VolumePtr p,
char** containerPath,
int* containerPathLen,
char** hostPath,
int* hostPathLen,
int* mode);
extern void destroyVolume(VolumePtr volume);
extern HealthCheckPtr toHealthCheck (bool hasHTTP,
int port,
char* httpPath,
int httpPathSize,
unsigned int* statuses,
int statusesSize,
double* delaySeconds,
double* intervalSeconds,
double* timeoutSeconds,
unsigned int* consecutiveFailures,
double* gracePeriodSeconds,
CommandInfoPtr command);
extern void fromHealthCheck (HealthCheckPtr p,
bool* hasHTTP,
int* port,
char** httpPath,
int* httpPathSize,
unsigned int** statuses,
int* statusesSize,
double* delaySeconds,
bool* delaySecondsSet,
double* intervalSeconds,
bool* intervalSecondsSet,
double* timeoutSeconds,
bool* timeoutSecondsSet,
unsigned int* consecutiveFailures,
bool* consecutiveFailuresSet,
double* gracePeriodSeconds,
bool* gracePeriodSecondsSet,
CommandInfoPtr* command);
extern void destroyHealthCheck (HealthCheckPtr p);
};
#endif