#include #include #include #include #include #include "cgic.h" int endRobotArmDeviceDriverSession(); int cgiMain() { if (endRobotArmDeviceDriverSession() == 1) { cgiHeaderLocation("/RobotArmLogout.html"); } else { cgiHeaderContentType("text/html"); fprintf(cgiOut, "

error logging out

"); } return 0; } /** * @return 1 if the session was successfully ended, 0 otherwise */ int endRobotArmDeviceDriverSession() { int file = open("/dev/robarm0", O_RDWR); char* msg; int len = strlen("end session")+1; size_t ret; if (file < 0) { return 0; } msg = (char*) malloc(sizeof(char)*len); strcpy(msg, "end session"); ret = write(file, msg, len); close(file); free(msg); if ((int) ret == len) { return 1; } else { // error return 0; } }