libcontrollers.h revision bd1f58065370eddeea275a238b0a439451c8b70e
1d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/******************************************************************************/
2d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/*                                                                            */
3d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/* Copyright (c) International Business Machines  Corp., 2007                 */
4d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/*                                                                            */
5d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/* This program is free software;  you can redistribute it and/or modify      */
6d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/* it under the terms of the GNU General Public License as published by       */
7d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/* the Free Software Foundation; either version 2 of the License, or          */
8d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/* (at your option) any later version.                                        */
9d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/*                                                                            */
10d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/* This program is distributed in the hope that it will be useful,            */
11d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/* but WITHOUT ANY WARRANTY;  without even the implied warranty of            */
12d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See                  */
13d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/* the GNU General Public License for more details.                           */
14d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/*                                                                            */
15d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/* You should have received a copy of the GNU General Public License          */
16d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/* along with this program;  if not, write to the Free Software               */
17d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA    */
18d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/*                                                                            */
19d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/******************************************************************************/
20d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak
21d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/******************************************************************************/
22d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/*                                                                            */
23d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/* File:        libcontrollers.h                                              */
24d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/*                                                                            */
25d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/* Description: This file contains the declarations for the functions and     */
26d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/*              variables used by the library and the test files.             */
27d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/*                                                                            */
28d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/* Author:      Sudhir Kumar skumar@linux.vnet.ibm.com                        */
29d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/*                                                                            */
30d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/* History:                                                                   */
31d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/* Created-     15/02/2008 -Sudhir Kumar <skumar@linux.vnet.ibm.com>          */
32d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/*                                                                            */
33d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/******************************************************************************/
34d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak
35d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak/* Standard Include Files */
3666b667aa0263893ea4fe26467dbce35881440b12subrata_modak#include <dirent.h>
3766b667aa0263893ea4fe26467dbce35881440b12subrata_modak#include <limits.h>
3866b667aa0263893ea4fe26467dbce35881440b12subrata_modak#include <stdio.h>
3966b667aa0263893ea4fe26467dbce35881440b12subrata_modak#include <stdlib.h>
4066b667aa0263893ea4fe26467dbce35881440b12subrata_modak#include <string.h>
4166b667aa0263893ea4fe26467dbce35881440b12subrata_modak#include <sys/stat.h>
4266b667aa0263893ea4fe26467dbce35881440b12subrata_modak#include <sys/types.h>
4366b667aa0263893ea4fe26467dbce35881440b12subrata_modak#include <unistd.h>
4466b667aa0263893ea4fe26467dbce35881440b12subrata_modak
4566b667aa0263893ea4fe26467dbce35881440b12subrata_modak#ifdef PATH_MAX
4666b667aa0263893ea4fe26467dbce35881440b12subrata_modakchar fullpath[PATH_MAX];
4766b667aa0263893ea4fe26467dbce35881440b12subrata_modak#else
4866b667aa0263893ea4fe26467dbce35881440b12subrata_modakchar fullpath[1024]; /* Guess */
4966b667aa0263893ea4fe26467dbce35881440b12subrata_modak#endif
5066b667aa0263893ea4fe26467dbce35881440b12subrata_modak
5166b667aa0263893ea4fe26467dbce35881440b12subrata_modakint FLAG, timer_expired;
5266b667aa0263893ea4fe26467dbce35881440b12subrata_modak
5366b667aa0263893ea4fe26467dbce35881440b12subrata_modakint retval;
5466b667aa0263893ea4fe26467dbce35881440b12subrata_modak
5566b667aa0263893ea4fe26467dbce35881440b12subrata_modakunsigned int num_line;//??
5666b667aa0263893ea4fe26467dbce35881440b12subrata_modak
5766b667aa0263893ea4fe26467dbce35881440b12subrata_modakunsigned int current_shares;
5866b667aa0263893ea4fe26467dbce35881440b12subrata_modak
5966b667aa0263893ea4fe26467dbce35881440b12subrata_modakunsigned int total_shares;
6066b667aa0263893ea4fe26467dbce35881440b12subrata_modak
6166b667aa0263893ea4fe26467dbce35881440b12subrata_modakunsigned int *shares_pointer;//??
6266b667aa0263893ea4fe26467dbce35881440b12subrata_modak
6366b667aa0263893ea4fe26467dbce35881440b12subrata_modakchar target[LINE_MAX];
6466b667aa0263893ea4fe26467dbce35881440b12subrata_modak
6566b667aa0263893ea4fe26467dbce35881440b12subrata_modakstruct dirent 	*dir_pointer;
6666b667aa0263893ea4fe26467dbce35881440b12subrata_modak
6766b667aa0263893ea4fe26467dbce35881440b12subrata_modakenum{
6866b667aa0263893ea4fe26467dbce35881440b12subrata_modak	GET_SHARES	=1,
6966b667aa0263893ea4fe26467dbce35881440b12subrata_modak	GET_TASKS
7066b667aa0263893ea4fe26467dbce35881440b12subrata_modak};
7166b667aa0263893ea4fe26467dbce35881440b12subrata_modak
7266b667aa0263893ea4fe26467dbce35881440b12subrata_modakinline int error_function(char *msg1, char *msg2);
7366b667aa0263893ea4fe26467dbce35881440b12subrata_modak
7466b667aa0263893ea4fe26467dbce35881440b12subrata_modakunsigned int read_shares_file (char *filepath);
7566b667aa0263893ea4fe26467dbce35881440b12subrata_modak
7666b667aa0263893ea4fe26467dbce35881440b12subrata_modakint read_file(char *filepath, int action, unsigned int *value);
7766b667aa0263893ea4fe26467dbce35881440b12subrata_modak
78bd1f58065370eddeea275a238b0a439451c8b70esubrata_modakint scan_shares_files(unsigned int *shares_pointer);
7966b667aa0263893ea4fe26467dbce35881440b12subrata_modak
8066b667aa0263893ea4fe26467dbce35881440b12subrata_modakint write_to_file (char * file, const char* mode, unsigned int value);
8166b667aa0263893ea4fe26467dbce35881440b12subrata_modak
8266b667aa0263893ea4fe26467dbce35881440b12subrata_modakvoid signal_handler_alarm (int signal );
83d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modak
84d3ba25b3d046e18320734e03dbcfe42b089115f8subrata_modakvoid signal_handler_sigusr2 (int signal);
85