int main(int argc, char **argv) { int k = argc == 2 ? strtol(argv[1], 0, 0) : 10; printf("%d\n", A(FUN(MAKE_ARG(f1), MAKE_ARG(f_1), MAKE_ARG(f_1), MAKE_ARG(f1), MAKE_ARG(f0)))); return 0; }
int stat_key_tau (ki_t key, void *msg) { ssize_t rc; rc = pread(Msg_fd, msg, sizeof(msg_s), MAKE_ARG(key, MSG_STAT_KEY)); RTN(rc); }
int send_key_tau (ki_t key, void *msg) { ssize_t rc; rc = pread(Msg_fd, msg, sizeof(msg_s), MAKE_ARG(key, MSG_SEND)); RTN(rc); }
int plug_key_tau (unint plug, void *msg) { ssize_t rc; rc = pread(Msg_fd, msg, sizeof(msg_s), MAKE_ARG(plug, MSG_PLUG_KEY)); RTN(rc); }
int duplicate_key_tau (ki_t key, void *msg) { ssize_t rc; rc = pread(Msg_fd, msg, sizeof(msg_s), MAKE_ARG(key, MSG_DUPLICATE_KEY)); RTN(rc); }
int destroy_key_tau (ki_t key) { ssize_t rc; rc = pread(Msg_fd, NULL, 0, MAKE_ARG(key, MSG_DESTROY_KEY)); RTN(rc); }
int node_died_tau (u64 node_no) { msg_s msg; ssize_t rc; rc = pread(Msg_fd, &msg, sizeof(msg_s), MAKE_ARG(node_no, MSG_NODE_DIED)); RTN(rc); }
int call_tau (ki_t key, void *msg) { msg_s *m = msg; ssize_t rc; m->q.q_type = 0; rc = pread(Msg_fd, msg, sizeof(msg_s), MAKE_ARG(key, MSG_CALL)); RTN(rc); }
int send_tau (ki_t key, void *msg) { msg_s *m = msg; ssize_t rc; m->q.q_passed_key = 0; rc = pread(Msg_fd, msg, sizeof(msg_s), MAKE_ARG(key, MSG_SEND)); RTN(rc); }
int change_index_tau (ki_t key, ki_t std_key) { msg_s m; ssize_t rc; m.q.q_type = 0; m.q.q_passed_key = std_key; rc = pread(Msg_fd, &m, sizeof(m), MAKE_ARG(key, MSG_CHANGE_INDEX)); RTN(rc); }
int write_data_tau (ki_t key, unint length, const void *start, unint offset) { msg_s m; ssize_t rc; ZERO_PADDING( &m, start); m.q.q_start = (void *)start; m.q.q_length = length; m.q.q_offset = offset; rc = pread(Msg_fd, &m, sizeof(m), MAKE_ARG(key, MSG_WRITE_DATA)); RTN(rc); }
int read_data_tau (ki_t key, unint length, void *start, unint offset) { msg_s m; ssize_t rc; ZERO_PADDING( &m, start); m.q.q_start = start; m.q.q_length = length; m.q.q_offset = offset; rc = pread(Msg_fd, &m, sizeof(m), MAKE_ARG(key, MSG_READ_DATA)); RTN(rc); }
int putdata_tau (ki_t key, void *msg, unint length, const void *start) { msg_s *m = msg; ssize_t rc; ZERO_PADDING(msg, start); m->q.q_type = READ_DATA; m->q.q_start = (void *)start; m->q.q_length = length; rc = pread(Msg_fd, msg, sizeof(msg_s), MAKE_ARG(key, MSG_CALL)); RTN(rc); }