#include <stdio.h>
#include <unistd.h>
#include <syscall.h>
#include <string.h>
#include <errno.h>

#define __NR_inccount 259
#define __NR_deccount 260
#define __NR_getcount 261
#define __NR_zerocount 262

static inline _syscall0(long, inccount);
static inline _syscall0(long, deccount);
static inline _syscall0(long, getcount);
static inline _syscall0(long, zerocount);

void print(char *str, int result) {
	if (result == -1)
		printf("%s: error, errno = %d(%s)\n",
				str, errno, strerror(errno));
	else
		printf("%s: succeed returning %d\n", str, result);
}

int main() {
	print("inc", inccount());
	print("get", getcount());
	print("dec", deccount());
	print("dec", deccount());
	print("get", getcount());
	print("inc", inccount());
	print("zero", zerocount());
	print("get", getcount());
	return 0;
}

