/*
    mm: common.h
    Copyright (C) 2006  Macaulay Institute

    This file is part of mm, a series of programs to test the effect of
    various mechanisms for mitigating against floating point issues on
    memory usage and time.

    mm is free software; you can redistributed it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    mm is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    GNU General Public License for more details. (LICENCE file in
    this directory.)

    You should have received a copy of the GNU General Public License
    along with this programl if not, write to the Free Software
    Fountation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

    Contact information:
      Gary Polhill,
      Macaulay Institute, Craigiebuckler, Aberdeen, AB15 8QH. United Kingdom
      g.polhill@macaulay.ac.uk
*/

/**
 * This file contains declarations common to all implementations of mm.
 */

void die(const char *msg, ...);
void set_seed(const char *seed_str);
int open_process_info(void);
void *read_process_info(int fd);
long double get_time_stamp(void *p);
long get_memory_usage(void *p);
long get_pr_pid(void *p);
long get_pr_ppid(void *p);
long get_pr_uid(void *p);
long get_pr_euid(void *p);
const char *get_pr_name(void *p);
int get_pr_argc(void *p);
void free_process_info(void *p);
void close_process_info(int fd);

