/*
** beostrux.h
** 
** Made by Johnny Q. Hacker
** Login   <solarion@johnathan>
** 
** Started on  Tue Jul  1 08:22:55 2008 Johnny Q. Hacker
** Last update Tue Jul  1 08:22:55 2008 Johnny Q. Hacker


Copyright (C) 2008 Joseph Pingenot

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program 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 Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.


*/

#ifndef   	BEOSTRUX_H_
# define   	BEOSTRUX_H_

enum usermap_policy {DENY_UNKNOWN, 
struct user_map {
};

struct group_map {
};

struct node {
  /*Hostname*/
  char *hostname;
  /*IPv4 address*/
  /*IPv6 address*/
  /*Transport to use to connect (TCP or UDP supported right now)*/
  int proto;
  /*Pertinent information on the node.*/
  /*Number of CPU sets on the node*/
  int n_cpu_sets;
  /*Number of CPUs per set*/
  int n_cpus_per_set;
  /*Architecture*/
  char *arch;
  /*Amount of RAM (MiB).  May be per-CPU if NUMA*/
  long int mem;
  /*User and group maps.  If NULL, do not map userids to other userids*/
  struct user_map *usermap;
  struct group_map *groupmap;
};

struct job {
  char *relbin;
  char **args;
  char **env;
}

#endif 	    /* !BEOSTRUX_H_ */

