#include #include #include __attribute__((constructor)) void constr() { printf("kaas: constructor!\n"); } __attribute__((destructor)) void destr() { printf("kaas: destructor!\n"); } int worker_init(int version) { printf("kaas: initialised with version %d\n", version); return 0; } int worker_run_job(size_t size, void *input_, size_t *outsize, void **outputp) { printf("kaas: running job (size = %zu)\n", size); const char *input = input_; char *output = malloc(size); for (size_t i = 0; i < size; i++) output[i] = toupper(input[i]); *outsize = size; *outputp = output; return 0; } void worker_free_outdata(size_t size, void *data) { (void)size; free(data); }