//////////////////////////////////////////////////////////////////////
// C++ header file generated by SpecC V2.2.1
// Design: GreenhouseSpec
// File:   GreenhouseSpec.h
// Time:   Sun May  9 17:02:18 2010
//////////////////////////////////////////////////////////////////////

// Note: User-defined include files are inlined in this file.

// Note: System-defined include files are inlined in this file.

#include <specc.h>
#include <longlong.h>
#include <bit.h>

#include <rbit4.h>

// global annotations ////////////////////////////////////////////////

/* note _SCE_LINK_OPTIONS = 
{ "-lscprof" }; */
/* note _SCE_LOG = 
{ { "Sun May  9 16:47:37 2010","scc tb -sc2sir -I -P -L -l -xcx -xlx -I/opt/sce-20080601/inc -P. -P/opt/sce-20080601/import -L/opt/sce-20080601/lib -lbit4 -lbit -lsim -llonglong -lqthread -xl -Xlinker -xl -R -xl -Xlinker -xl /opt/sce-20080601/lib -i tb.sc -o tb.sir",
    "tb.sc","V2.2.1","" },
  { "Sun May  9 17:02:18 2010","sce","tb.sc","V2.2.1","Saved to /home/bltomlin/SCE_ArchRefine/GreenhouseSpec.sir" },
  
  { "Sun May  9 17:02:18 2010","scprof -v -m -i /home/bltomlin/SCE_ArchRefine/GreenhouseSpec.sir -o /home/bltomlin/SCE_ArchRefine/GreenhouseSpec.ins.sir GreenhouseSpec ",
    "GreenhouseSpec","V2.2.1","Profile Instrumentation Simple mode" } }; */

// named user-defined type declarations //////////////////////////////

struct __pthread_internal_slist;
struct timeval;

#line 65 "/usr/include/gconv.h"
struct __gconv_loaded_object;

#line 39 "GreenhouseSpec.h"
struct __gconv_trans_data;
struct __gconv_step;
struct __gconv_step_data;
struct __gconv_info;

#line 167 "/usr/include/libio.h"
struct _IO_jump_t;

#line 48 "GreenhouseSpec.h"
struct _IO_marker;
struct _IO_FILE;

#line 341 "/usr/include/libio.h"
struct _IO_FILE_plus;

#line 55 "GreenhouseSpec.h"
struct random_data;
struct drand48_data;
struct timespec;
struct tm;
struct itimerspec;

#line 169 "/usr/include/time.h"
struct sigevent;

// named enumerator type definitions /////////////////////////////////

#line 203 "/usr/include/libio.h"
enum __codecvt_result {

    __codecvt_ok=0,
    __codecvt_partial=1,
    __codecvt_error=2,
    __codecvt_noconv=3
};

// unnamed enumerator type definitions ///////////////////////////////

#line 38 "/usr/include/gconv.h"
enum {
    __GCONV_OK=0,
    __GCONV_NOCONV=1,
    __GCONV_NODB=2,
    __GCONV_NOMEM=3,

    __GCONV_EMPTY_INPUT=4,
    __GCONV_FULL_OUTPUT=5,
    __GCONV_ILLEGAL_INPUT=6,
    __GCONV_INCOMPLETE_INPUT=7,

    __GCONV_ILLEGAL_DESCRIPTOR=8,
    __GCONV_INTERNAL_ERROR=9
};




enum {
    __GCONV_IS_LAST=1,
    __GCONV_IGNORE_ERRORS=2
};

// struct/union type definitions /////////////////////////////////////

#line 77 "/usr/include/wchar.h"
typedef struct {
    int __count;




    union { unsigned int __wch; char __wchb[4]; } __value; }
    __mbstate_t;

#line 27 "/usr/include/_G_config.h"
typedef struct {
    long int __pos;
    __mbstate_t __state; }
    _G_fpos_t;

#line 63 "/usr/include/bits/types.h"
typedef struct {
    long int __val[2]; }
    __quad_t;

#line 32 "/usr/include/_G_config.h"
typedef struct {
    __quad_t __pos;
    __mbstate_t __state; }
    _G_fpos64_t;

#line 145 "/usr/include/gconv.h"
struct __gconv_step_data {

    unsigned char *__outbuf;
    unsigned char *__outbufend;



    int __flags;



    int __invocation_counter;



    int __internal_use;

    __mbstate_t *__statep;
    __mbstate_t __state;



    struct __gconv_trans_data *__trans;
};



struct __gconv_info {

    unsigned int __nsteps;
    struct __gconv_step *__steps;
    struct __gconv_step_data __data[1];
};

#line 46 "/usr/include/_G_config.h"
typedef union {
    struct __gconv_info __cd;




    struct { struct __gconv_info __cd; struct __gconv_step_data __data; } __combined; }
    _G_iconv_t;

#line 40 "/usr/include/bits/pthreadtypes.h"
typedef union {
    char __size[36];
    long int __align; }
    pthread_attr_t;


struct __pthread_internal_slist {

    struct __pthread_internal_slist *__next;
};

#line 55 "/usr/include/bits/pthreadtypes.h"
typedef union {

#line 70 "/usr/include/bits/pthreadtypes.h"
    struct __pthread_mutex_s { int __lock; unsigned int __count; int __owner; int __kind; unsigned int __nusers; union { int __spins; struct __pthread_internal_slist __list; } __extension; } __data;
    char __size[24];
    long int __align; }
    pthread_mutex_t;


typedef union {
    char __size[4];
    long int __align; }
    pthread_mutexattr_t;

#line 85 "/usr/include/bits/pthreadtypes.h"
typedef union {

#line 96 "/usr/include/bits/pthreadtypes.h"
    struct { int __lock; unsigned int __futex; unsigned long long int __total_seq; unsigned long long int __wakeup_seq; unsigned long long int __woken_seq; void *__mutex; unsigned int __nwaiters; unsigned int __broadcast_seq; } __data;
    char __size[48];
    long long int __align; }
    pthread_cond_t;


typedef union {
    char __size[4];
    long int __align; }
    pthread_condattr_t;

#line 120 "/usr/include/bits/pthreadtypes.h"
typedef union {

#line 133 "/usr/include/bits/pthreadtypes.h"
    struct { int __lock; unsigned int __nr_readers; unsigned int __readers_wakeup; unsigned int __writer_wakeup; unsigned int __nr_readers_queued; unsigned int __nr_writers_queued; unsigned int __flags; int __writer; } __data;
    char __size[32];
    long int __align; }
    pthread_rwlock_t;


typedef union {
    char __size[8];
    long int __align; }
    pthread_rwlockattr_t;

#line 154 "/usr/include/bits/pthreadtypes.h"
typedef union {
    char __size[20];
    long int __align; }
    pthread_barrier_t;


typedef union {
    char __size[4];
    int __align; }
    pthread_barrierattr_t;

#line 29 "/usr/include/bits/sigset.h"
typedef struct {
    unsigned long int __val[32]; }
    __sigset_t;

#line 69 "/usr/include/bits/time.h"
struct timeval {

    long int tv_sec;
    long int tv_usec;
};

#line 67 "/usr/include/bits/types.h"
typedef struct {
    unsigned long int __val[2]; }
    __u_quad_t;

#line 147 "/usr/include/bits/types.h"
typedef struct { int __val[2]; } __fsid_t;

#line 103 "/usr/include/gconv.h"
struct __gconv_trans_data {


    int (*__trans_fct)(struct __gconv_step *, struct __gconv_step_data *, void *, const unsigned char *, const unsigned char **, const unsigned char *, unsigned char **, unsigned int *);
    int (*__trans_context_fct)(void *, const unsigned char *, const unsigned char *, unsigned char *, unsigned char *);
    void (*__trans_end_fct)(void *);
    void *__data;
    struct __gconv_trans_data *__next;
};



struct __gconv_step {

    struct __gconv_loaded_object *__shlib_handle;
    const char *__modname;

    int __counter;

    char *__from_name;
    char *__to_name;

    int (*__fct)(struct __gconv_step *, struct __gconv_step_data *, const unsigned char **, const unsigned char *, unsigned char **, unsigned int *, int, int);
    unsigned int (*__btowc_fct)(struct __gconv_step *, unsigned char);
    int (*__init_fct)(struct __gconv_step *);
    void (*__end_fct)(struct __gconv_step *);



    int __min_needed_from;
    int __max_needed_from;
    int __min_needed_to;
    int __max_needed_to;


    int __stateful;

    void *__data;
};

#line 183 "/usr/include/libio.h"
struct _IO_marker {
    struct _IO_marker *_next;
    struct _IO_FILE *_sbuf;



    int _pos;
};

#line 268 "/usr/include/libio.h"
struct _IO_FILE {
    int _flags;




    char *_IO_read_ptr;
    char *_IO_read_end;
    char *_IO_read_base;
    char *_IO_write_base;
    char *_IO_write_ptr;
    char *_IO_write_end;
    char *_IO_buf_base;
    char *_IO_buf_end;

    char *_IO_save_base;
    char *_IO_backup_base;
    char *_IO_save_end;

    struct _IO_marker *_markers;

    struct _IO_FILE *_chain;

    int _fileno;



    int _flags2;

    long int _old_offset;



    unsigned short int _cur_column;
    char _vtable_offset;
    char _shortbuf[1];



    void *_lock;

#line 316 "/usr/include/libio.h"
    __quad_t _offset;

#line 325 "/usr/include/libio.h"
    void *__pad1;
    void *__pad2;
    void *__pad3;
    void *__pad4;
    unsigned int __pad5;

    int _mode;

    char _unused2[40];
};

#line 99 "/usr/include/stdlib.h"
typedef struct {
    int quot;
    int rem; }
    div_t;




typedef struct {
    long int quot;
    long int rem; }
    ldiv_t;

#line 467 "/usr/include/stdlib.h"
struct random_data {

    int *fptr;
    int *rptr;
    int *state;
    int rand_type;
    int rand_deg;
    int rand_sep;
    int *end_ptr;
};

#line 536 "/usr/include/stdlib.h"
struct drand48_data {

    unsigned short int __x[3];
    unsigned short int __old_x[3];
    unsigned short int __c;
    unsigned short int __init;
    unsigned long long int __a;
};

#line 68 "/usr/include/sys/select.h"
typedef struct {

#line 75 "/usr/include/sys/select.h"
    long int __fds_bits[32]; }


    fd_set;

#line 121 "/usr/include/time.h"
struct timespec {

    long int tv_sec;
    long int tv_nsec;
};

#line 134 "/usr/include/time.h"
struct tm {

    int tm_sec;
    int tm_min;
    int tm_hour;
    int tm_mday;
    int tm_mon;
    int tm_year;
    int tm_wday;
    int tm_yday;
    int tm_isdst;


    long int tm_gmtoff;
    const char *tm_zone;
};

#line 162 "/usr/include/time.h"
struct itimerspec {

    struct timespec it_interval;
    struct timespec it_value;
};

// type synonym definitions //////////////////////////////////////////

#line 57 "/opt/sce-20080601/inc/sim/time.sh"
typedef unsigned long long int sim_time;

typedef unsigned long long int sim_delta;

typedef char sim_time_string[21];

#line 55 "/usr/include/_G_config.h"
typedef int _G_int16_t;
typedef int _G_int32_t;
typedef unsigned int _G_uint16_t;
typedef unsigned int _G_uint32_t;

#line 36 "/usr/include/bits/pthreadtypes.h"
typedef unsigned long int pthread_t;

#line 49 "/usr/include/bits/pthreadtypes.h"
typedef struct __pthread_internal_slist __pthread_slist_t;

#line 109 "/usr/include/bits/pthreadtypes.h"
typedef unsigned int pthread_key_t;



typedef int pthread_once_t;

#line 148 "/usr/include/bits/pthreadtypes.h"
typedef volatile int pthread_spinlock_t;

#line 23 "/usr/include/bits/sigset.h"
typedef int __sig_atomic_t;

#line 34 "/usr/include/bits/types.h"
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;


typedef char __int8_t;
typedef unsigned char __uint8_t;
typedef short int __int16_t;
typedef unsigned short int __uint16_t;
typedef int __int32_t;
typedef unsigned int __uint32_t;

#line 138 "/usr/include/bits/types.h"
typedef unsigned int __uid_t;
typedef unsigned int __gid_t;
typedef unsigned long int __ino_t;

typedef unsigned int __mode_t;
typedef unsigned int __nlink_t;
typedef long int __off_t;

typedef int __pid_t;

typedef long int __clock_t;
typedef unsigned long int __rlim_t;

typedef unsigned int __id_t;
typedef long int __time_t;
typedef unsigned int __useconds_t;
typedef long int __suseconds_t;

typedef int __daddr_t;
typedef long int __swblk_t;
typedef int __key_t;


typedef int __clockid_t;


typedef void *__timer_t;


typedef long int __blksize_t;




typedef long int __blkcnt_t;



typedef unsigned long int __fsblkcnt_t;



typedef unsigned long int __fsfilcnt_t;


typedef int __ssize_t;




typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;


typedef int __intptr_t;


typedef unsigned int __socklen_t;

#line 70 "/usr/include/gconv.h"
typedef int (*__gconv_fct)(struct __gconv_step *, struct __gconv_step_data *, const unsigned char **, const unsigned char *, unsigned char **, unsigned int *, int, int);




typedef unsigned int (*__gconv_btowc_fct)(struct __gconv_step *, unsigned char);


typedef int (*__gconv_init_fct)(struct __gconv_step *);
typedef void (*__gconv_end_fct)(struct __gconv_step *);



typedef int (*__gconv_trans_fct)(struct __gconv_step *, struct __gconv_step_data *, void *, const unsigned char *, const unsigned char **, const unsigned char *, unsigned char **, unsigned int *);

#line 91 "/usr/include/gconv.h"
typedef int (*__gconv_trans_context_fct)(void *, const unsigned char *, const unsigned char *, unsigned char *, unsigned char *);




typedef int (*__gconv_trans_query_fct)(const char *, const char ***, unsigned int *);



typedef int (*__gconv_trans_init_fct)(void **, const char *);
typedef void (*__gconv_trans_end_fct)(void *);

#line 177 "/usr/include/gconv.h"
typedef struct __gconv_info *__gconv_t;

#line 177 "/usr/include/libio.h"
typedef void _IO_lock_t;

#line 338 "/usr/include/libio.h"
typedef struct _IO_FILE _IO_FILE;

#line 361 "/usr/include/libio.h"
typedef int __io_read_fn(void *, char *, unsigned int);

#line 369 "/usr/include/libio.h"
typedef int __io_write_fn(void *, const char *, unsigned int);

#line 378 "/usr/include/libio.h"
typedef int __io_seek_fn(void *, __quad_t *, int);


typedef int __io_close_fn(void *);

#line 46 "/usr/include/stdio.h"
typedef struct _IO_FILE FILE;

#line 62 "/usr/include/stdio.h"
typedef struct _IO_FILE __FILE;

#line 764 "/usr/include/stdlib.h"
typedef int (*__compar_fn_t)(const void *, const void *);

#line 49 "/usr/include/sys/select.h"
typedef long int suseconds_t;

#line 55 "/usr/include/sys/select.h"
typedef long int __fd_mask;

#line 85 "/usr/include/sys/select.h"
typedef long int fd_mask;

#line 35 "/usr/include/sys/types.h"
typedef unsigned char u_char;
typedef unsigned short int u_short;
typedef unsigned int u_int;
typedef unsigned long int u_long;

#line 50 "/usr/include/sys/types.h"
typedef unsigned long int ino_t;

#line 67 "/usr/include/sys/types.h"
typedef unsigned int gid_t;




typedef unsigned int mode_t;




typedef unsigned int nlink_t;




typedef unsigned int uid_t;

#line 88 "/usr/include/sys/types.h"
typedef long int off_t;

#line 100 "/usr/include/sys/types.h"
typedef int pid_t;




typedef unsigned int id_t;




typedef int ssize_t;

#line 116 "/usr/include/sys/types.h"
typedef int daddr_t;
typedef char *caddr_t;

#line 123 "/usr/include/sys/types.h"
typedef int key_t;

#line 151 "/usr/include/sys/types.h"
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;

#line 163 "/usr/include/sys/types.h"
typedef char int8_t;
typedef short int int16_t;
typedef int int32_t;

#line 174 "/usr/include/sys/types.h"
typedef unsigned char u_int8_t;
typedef unsigned short int u_int16_t;
typedef unsigned int u_int32_t;

#line 183 "/usr/include/sys/types.h"
typedef int register_t;

#line 235 "/usr/include/sys/types.h"
typedef long int blkcnt_t;



typedef unsigned long int fsblkcnt_t;



typedef unsigned long int fsfilcnt_t;

#line 61 "/usr/include/time.h"
typedef long int clock_t;

#line 77 "/usr/include/time.h"
typedef long int time_t;

#line 93 "/usr/include/time.h"
typedef int clockid_t;

#line 105 "/usr/include/time.h"
typedef void *timer_t;

#line 43 "/usr/lib/gcc/i386-redhat-linux/4.1.2/include/stdarg.h"
typedef void *__gnuc_va_list;

#line 214 "/usr/lib/gcc/i386-redhat-linux/4.1.2/include/stddef.h"
typedef unsigned int size_t;

#line 355 "/usr/lib/gcc/i386-redhat-linux/4.1.2/include/stddef.h"
typedef unsigned int wint_t;

// class declarations ////////////////////////////////////////////////

#line 728 "GreenhouseSpec.h"
class Climate_Control;
class heatcontrol;
class moistprocessing;
class temp_receiver;
class moisture_receiver;
class Heater_Flag;
class Sprinkler_Flag;
class Monitor;
class Process_Moisture;
class Process_Temperature;
class Read_Settings;
class sprinklercontrol;
class TempSense;
class MoistSense;
class UserEntry;
class Stimulus;
class tempprocessing;
class c_queue;

#line 77 "c_queue.sc"
/* note c_queue._SCE_STANDARD_LIB = { "c_queue" }; */

#line 751 "GreenhouseSpec.h"
class i_receiver;

#line 25 "i_receiver.sc"
/* note i_receiver._SCE_STANDARD_LIB = { "i_receiver" }; */

#line 757 "GreenhouseSpec.h"
class i_sender;

#line 26 "i_sender.sc"
/* note i_sender._SCE_STANDARD_LIB = { "i_sender" }; */

#line 763 "GreenhouseSpec.h"
class i_tranceiver;

#line 27 "i_tranceiver.sc"
/* note i_tranceiver._SCE_STANDARD_LIB = { "i_tranceiver" }; */

#line 769 "GreenhouseSpec.h"
class Main;

// interface class definitions ///////////////////////////////////////

#line 23 "i_receiver.sc"
class i_receiver
{
private:
public:

#line 780 "GreenhouseSpec.h"
    virtual ~i_receiver(void){};

#line 27 "i_receiver.sc"
    virtual void receive(void *, unsigned long int) = 0;
private:
};

#line 24 "i_sender.sc"
class i_sender
{
private:
public:

#line 794 "GreenhouseSpec.h"
    virtual ~i_sender(void){};

#line 28 "i_sender.sc"
    virtual void send(const void *, unsigned long int) = 0;
private:
};

#line 25 "i_tranceiver.sc"
class i_tranceiver
{
private:
public:

#line 808 "GreenhouseSpec.h"
    virtual ~i_tranceiver(void){};

#line 30 "i_tranceiver.sc"
    virtual void receive(void *, unsigned long int) = 0;

#line 29 "i_tranceiver.sc"
    virtual void send(const void *, unsigned long int) = 0;
private:
};

// behavior and channel class definitions ////////////////////////////

#line 16 "./MoistProcessing.sc"
class moistprocessing : public _specc::behavior
{
private:

#line 16 "./MoistProcessing.sc"
    i_receiver (&moistsettingsin); i_receiver (&moistdatain); i_sender (&moistdatacontrol); i_sender (&moistdataout);
public:

#line 830 "GreenhouseSpec.h"
    moistprocessing(unsigned int _idcnt, i_receiver (&moistsettingsin), i_receiver (&moistdatain), i_sender (&moistdatacontrol), i_sender (&moistdataout));
    virtual ~moistprocessing(void);
    void main(void);
private:
};

#line 13 "./SprinklerControl.sc"
class sprinklercontrol : public _specc::behavior
{
private:

#line 13 "./SprinklerControl.sc"
    i_receiver (&moistdatain); i_sender (&sprinklercontrolout);
public:

#line 846 "GreenhouseSpec.h"
    sprinklercontrol(unsigned int _idcnt, i_receiver (&moistdatain), i_sender (&sprinklercontrolout));
    virtual ~sprinklercontrol(void);
    void main(void);
private:
};

#line 74 "c_queue.sc"
class c_queue : public _specc::channel, public i_sender, public i_receiver, public i_tranceiver
{
private:

#line 74 "c_queue.sc"
    const unsigned long int (&size);
public:

#line 862 "GreenhouseSpec.h"
    c_queue(const unsigned long int (&size));
    virtual ~c_queue(void);
    void cleanup(void);
    void receive(void *, unsigned long int);
    void send(const void *, unsigned long int);
    void setup(void);
private:

#line 85 "c_queue.sc"
    char *buffer;

#line 84 "c_queue.sc"
    unsigned long int n;

#line 83 "c_queue.sc"
    unsigned long int p;

#line 79 "c_queue.sc"
    _specc::event r;
    _specc::event s;
    unsigned long int wr;
    unsigned long int ws;
};

#line 19 "./Process_Moisture.sc"
class Process_Moisture : public _specc::behavior
{
private:

#line 19 "./Process_Moisture.sc"
    i_receiver (&moistsettingsin); i_receiver (&moistdatain);
    i_sender (&sprinklercontrolout); i_sender (&moistdataout);
public:

#line 897 "GreenhouseSpec.h"
    Process_Moisture(unsigned int _idcnt, i_receiver (&moistsettingsin), i_receiver (&moistdatain), i_sender (&sprinklercontrolout), i_sender (&moistdataout));
    virtual ~Process_Moisture(void);
    void main(void);
private:

#line 23 "./Process_Moisture.sc"
    const unsigned long int SIZE;
    unsigned long int _scc_const_port_0;
    c_queue CC1;

    moistprocessing MP;
    sprinklercontrol SC;
};

#line 18 "./HeatControl.sc"
class heatcontrol : public _specc::behavior
{
private:

#line 18 "./HeatControl.sc"
    i_receiver (&tempdatain); i_sender (&heatcontrolout);
public:

#line 921 "GreenhouseSpec.h"
    heatcontrol(unsigned int _idcnt, i_receiver (&tempdatain), i_sender (&heatcontrolout));
    virtual ~heatcontrol(void);
    void main(void);
private:
};

#line 15 "./TempProcessing.sc"
class tempprocessing : public _specc::behavior
{
private:

#line 15 "./TempProcessing.sc"
    i_receiver (&tempsettingsin); i_receiver (&tempdatain); i_sender (&tempdatacontrol); i_sender (&tempdataout);
public:

#line 937 "GreenhouseSpec.h"
    tempprocessing(unsigned int _idcnt, i_receiver (&tempsettingsin), i_receiver (&tempdatain), i_sender (&tempdatacontrol), i_sender (&tempdataout));
    virtual ~tempprocessing(void);
    void main(void);
private:
};

#line 18 "./Process_Temperature.sc"
class Process_Temperature : public _specc::behavior
{
private:

#line 18 "./Process_Temperature.sc"
    i_receiver (&tempsettingsin); i_receiver (&tempdatain); i_sender (&heatcontrolout); i_sender (&tempdataout);
public:

#line 953 "GreenhouseSpec.h"
    Process_Temperature(unsigned int _idcnt, i_receiver (&tempsettingsin), i_receiver (&tempdatain), i_sender (&heatcontrolout), i_sender (&tempdataout));
    virtual ~Process_Temperature(void);
    void main(void);
private:

#line 20 "./Process_Temperature.sc"
    const unsigned long int SIZE;
    unsigned long int _scc_const_port_0;


    heatcontrol C;

#line 21 "./Process_Temperature.sc"
    c_queue C1;

    tempprocessing P;
};

#line 16 "./Read_Settings.sc"
class Read_Settings : public _specc::behavior
{
private:

#line 16 "./Read_Settings.sc"
    i_receiver (&settingsin); i_sender (&tempsetout); i_sender (&moisturesetout);
public:

#line 981 "GreenhouseSpec.h"
    Read_Settings(unsigned int _idcnt, i_receiver (&settingsin), i_sender (&tempsetout), i_sender (&moisturesetout));
    virtual ~Read_Settings(void);
    void main(void);
private:

#line 18 "./Read_Settings.sc"
    int mSetting; int tSetting;
};

#line 15 "./Climate_Control.sc"
class Climate_Control : public _specc::behavior
{
private:

#line 15 "./Climate_Control.sc"
    i_receiver (&settingsin); i_receiver (&tempin); i_receiver (&moisturein);
    i_sender (&heatcontrolout); i_sender (&sprinklercontrolout); i_sender (&tempout); i_sender (&moistureout);
public:

#line 1001 "GreenhouseSpec.h"
    Climate_Control(unsigned int _idcnt, i_receiver (&settingsin), i_receiver (&tempin), i_receiver (&moisturein), i_sender (&heatcontrolout), i_sender (&sprinklercontrolout), i_sender (&tempout), i_sender (&moistureout));
    virtual ~Climate_Control(void);
    void main(void);
private:

#line 19 "./Climate_Control.sc"
    const unsigned long int SIZE;
    unsigned long int _scc_const_port_0;
    unsigned long int _scc_const_port_1;
    unsigned long int _scc_const_port_2;

#line 21 "./Climate_Control.sc"
    c_queue Moistclockdata;
    c_queue Moisturesetin;




    Process_Moisture PM;

#line 26 "./Climate_Control.sc"
    Process_Temperature PT;

#line 25 "./Climate_Control.sc"
    Read_Settings RS;

#line 23 "./Climate_Control.sc"
    c_queue Tempsetin;
};

#line 19 "./Monitor.sc"
class temp_receiver : public _specc::behavior
{
private:

#line 19 "./Monitor.sc"
    i_receiver (&temp);
public:

#line 1041 "GreenhouseSpec.h"
    temp_receiver(unsigned int _idcnt, i_receiver (&temp));
    virtual ~temp_receiver(void);
    void main();
private:
};

#line 39 "./Monitor.sc"
class moisture_receiver : public _specc::behavior
{
private:

#line 39 "./Monitor.sc"
    i_receiver (&moisture);
public:

#line 1057 "GreenhouseSpec.h"
    moisture_receiver(unsigned int _idcnt, i_receiver (&moisture));
    virtual ~moisture_receiver(void);
    void main();
private:
};

#line 59 "./Monitor.sc"
class Heater_Flag : public _specc::behavior
{
private:

#line 59 "./Monitor.sc"
    i_receiver (&Heater);
public:

#line 1073 "GreenhouseSpec.h"
    Heater_Flag(unsigned int _idcnt, i_receiver (&Heater));
    virtual ~Heater_Flag(void);
    void main();
private:
};

#line 82 "./Monitor.sc"
class Sprinkler_Flag : public _specc::behavior
{
private:

#line 82 "./Monitor.sc"
    i_receiver (&Sprinkler);
public:

#line 1089 "GreenhouseSpec.h"
    Sprinkler_Flag(unsigned int _idcnt, i_receiver (&Sprinkler));
    virtual ~Sprinkler_Flag(void);
    void main();
private:
};

#line 106 "./Monitor.sc"
class Monitor : public _specc::behavior
{
private:

#line 106 "./Monitor.sc"
    i_receiver (&HEATER); i_receiver (&SPRINKLER); i_receiver (&M_OUT); i_receiver (&T_OUT);
public:

#line 1105 "GreenhouseSpec.h"
    Monitor(unsigned int _idcnt, i_receiver (&HEATER), i_receiver (&SPRINKLER), i_receiver (&M_OUT), i_receiver (&T_OUT));
    virtual ~Monitor(void);
    void main(void);
private:

#line 116 "./Monitor.sc"
    Heater_Flag readHeater;

#line 115 "./Monitor.sc"
    moisture_receiver readMoisture;

    Sprinkler_Flag readSprinkler;

#line 114 "./Monitor.sc"
    temp_receiver readTemp;
};

#line 18 "./Stimulus.sc"
class TempSense : public _specc::behavior
{
private:

#line 18 "./Stimulus.sc"
    i_sender (&TSENSE);
public:

#line 1132 "GreenhouseSpec.h"
    TempSense(unsigned int _idcnt, i_sender (&TSENSE));
    virtual ~TempSense(void);
    void main();
private:
};

#line 37 "./Stimulus.sc"
class MoistSense : public _specc::behavior
{
private:

#line 37 "./Stimulus.sc"
    i_sender (&MSENSE);
public:

#line 1148 "GreenhouseSpec.h"
    MoistSense(unsigned int _idcnt, i_sender (&MSENSE));
    virtual ~MoistSense(void);
    void main();
private:
};

#line 55 "./Stimulus.sc"
class UserEntry : public _specc::behavior
{
private:

#line 55 "./Stimulus.sc"
    i_sender (&USERSET);
public:

#line 1164 "GreenhouseSpec.h"
    UserEntry(unsigned int _idcnt, i_sender (&USERSET));
    virtual ~UserEntry(void);
    void main();
private:
};

#line 81 "./Stimulus.sc"
class Stimulus : public _specc::behavior
{
private:

#line 81 "./Stimulus.sc"
    i_sender (&USER_SET); i_sender (&M_SENSE); i_sender (&T_SENSE);
public:

#line 1180 "GreenhouseSpec.h"
    Stimulus(unsigned int _idcnt, i_sender (&USER_SET), i_sender (&M_SENSE), i_sender (&T_SENSE));
    virtual ~Stimulus(void);
    void main(void);
private:

#line 84 "./Stimulus.sc"
    MoistSense MSense;

#line 83 "./Stimulus.sc"
    TempSense TTSense;

    UserEntry User;
};

#line 19 "tb.sc"
class Main : public _specc::class_type
{
private:
public:

#line 1201 "GreenhouseSpec.h"
    Main(unsigned int _idcnt);
    virtual ~Main(void);
    int main(void);
private:
    unsigned long int _scc_const_port_0;
    unsigned long int _scc_const_port_1;
    unsigned long int _scc_const_port_2;
    unsigned long int _scc_const_port_3;
    unsigned long int _scc_const_port_4;
    unsigned long int _scc_const_port_5;
    unsigned long int _scc_const_port_6;

#line 30 "tb.sc"
    Climate_Control CONT;

#line 24 "tb.sc"
    c_queue HEATER;

#line 31 "tb.sc"
    Monitor MTR;

#line 27 "tb.sc"
    c_queue M_OUT;

#line 22 "tb.sc"
    c_queue M_SENSE;


    c_queue SPRINKLER;



    Stimulus STM;

#line 26 "tb.sc"
    c_queue T_OUT;

#line 23 "tb.sc"
    c_queue T_SENSE;

#line 21 "tb.sc"
    c_queue USER_SET;
};

// variable and function declarations ////////////////////////////////

#line 49 "/opt/sce-20080601/inc/sim.sh"
extern const int _SPECC_VERSION_MAJOR;
extern const int _SPECC_VERSION_MINOR;

#line 42 "/opt/sce-20080601/inc/sim/bit.sh"
extern "C" char *bit2str(unsigned int, char *, ...);

#line 48 "/opt/sce-20080601/inc/sim/bit.sh"
extern "C" char *ubit2str(unsigned int, char *, ...);




extern "C" void str2bit(unsigned int, const char *, ...);




extern "C" void str2ubit(unsigned int, const char *, ...);

#line 41 "/opt/sce-20080601/inc/sim/longlong.sh"
extern "C" char *ll2str(unsigned int, char *, long long int);




extern "C" char *ull2str(unsigned int, char *, unsigned long long int);




extern "C" long long int str2ll(unsigned int, const char *);



extern "C" unsigned long long int str2ull(unsigned int, const char *);

#line 73 "/opt/sce-20080601/inc/sim/time.sh"
extern "C" unsigned long long int now(void);

extern "C" unsigned long long int delta(void);


extern "C" const char *time2str(char [21], unsigned long long int);



extern "C" unsigned long long int str2time(const char *);

#line 33 "/usr/include/alloca.h"
extern "C" void *alloca(unsigned int);

#line 27 "/usr/include/bits/sys_errlist.h"
extern int sys_nerr;
extern const char *const sys_errlist[];

#line 343 "/usr/include/libio.h"
extern struct _IO_FILE_plus _IO_2_1_stdin_;
extern struct _IO_FILE_plus _IO_2_1_stdout_;
extern struct _IO_FILE_plus _IO_2_1_stderr_;

#line 413 "/usr/include/libio.h"
extern "C" int __underflow(struct _IO_FILE *);
extern "C" int __uflow(struct _IO_FILE *);
extern "C" int __overflow(struct _IO_FILE *, int);
extern "C" unsigned int __wunderflow(struct _IO_FILE *);
extern "C" unsigned int __wuflow(struct _IO_FILE *);
extern "C" unsigned int __woverflow(struct _IO_FILE *, unsigned int);

#line 451 "/usr/include/libio.h"
extern "C" int _IO_getc(struct _IO_FILE *);
extern "C" int _IO_putc(int, struct _IO_FILE *);
extern "C" int _IO_feof(struct _IO_FILE *);
extern "C" int _IO_ferror(struct _IO_FILE *);

extern "C" int _IO_peekc_locked(struct _IO_FILE *);

#line 462 "/usr/include/libio.h"
extern "C" void _IO_flockfile(struct _IO_FILE *);
extern "C" void _IO_funlockfile(struct _IO_FILE *);
extern "C" int _IO_ftrylockfile(struct _IO_FILE *);

#line 481 "/usr/include/libio.h"
extern "C" int _IO_vfscanf(struct _IO_FILE *, const char *, void *, int *);

extern "C" int _IO_vfprintf(struct _IO_FILE *, const char *, void *);

extern "C" int _IO_padn(struct _IO_FILE *, int, int);
extern "C" unsigned int _IO_sgetn(struct _IO_FILE *, void *, unsigned int);

extern "C" __quad_t _IO_seekoff(struct _IO_FILE *, __quad_t, int, int);
extern "C" __quad_t _IO_seekpos(struct _IO_FILE *, __quad_t, int);

extern "C" void _IO_free_backup_area(struct _IO_FILE *);

#line 142 "/usr/include/stdio.h"
extern struct _IO_FILE *stdin;
extern struct _IO_FILE *stdout;
extern struct _IO_FILE *stderr;

#line 154 "/usr/include/stdio.h"
extern "C" int remove(const char *);

extern "C" int rename(const char *, const char *);

#line 171 "/usr/include/stdio.h"
extern "C" struct _IO_FILE *tmpfile(void);

#line 185 "/usr/include/stdio.h"
extern "C" char *tmpnam(char *);

#line 191 "/usr/include/stdio.h"
extern "C" char *tmpnam_r(char *);

#line 203 "/usr/include/stdio.h"
extern "C" char *tempnam(const char *, const char *);

#line 213 "/usr/include/stdio.h"
extern "C" int fclose(struct _IO_FILE *);




extern "C" int fflush(struct _IO_FILE *);

#line 228 "/usr/include/stdio.h"
extern "C" int fflush_unlocked(struct _IO_FILE *);

#line 248 "/usr/include/stdio.h"
extern "C" struct _IO_FILE *fopen(const char *, const char *);

#line 254 "/usr/include/stdio.h"
extern "C" struct _IO_FILE *freopen(const char *, const char *, struct _IO_FILE *);

#line 280 "/usr/include/stdio.h"
extern "C" struct _IO_FILE *fdopen(int, const char *);

#line 303 "/usr/include/stdio.h"
extern "C" void setbuf(struct _IO_FILE *, char *);



extern "C" int setvbuf(struct _IO_FILE *, char *, int, unsigned int);

#line 314 "/usr/include/stdio.h"
extern "C" void setbuffer(struct _IO_FILE *, char *, unsigned int);



extern "C" void setlinebuf(struct _IO_FILE *);

#line 327 "/usr/include/stdio.h"
extern "C" int fprintf(struct _IO_FILE *, const char *, ...);

#line 333 "/usr/include/stdio.h"
extern "C" int printf(const char *, ...);

extern "C" int sprintf(char *, const char *, ...);

#line 342 "/usr/include/stdio.h"
extern "C" int vfprintf(struct _IO_FILE *, const char *, void *);

#line 348 "/usr/include/stdio.h"
extern "C" int vprintf(const char *, void *);

extern "C" int vsprintf(char *, const char *, void *);

#line 357 "/usr/include/stdio.h"
extern "C" int snprintf(char *, unsigned int, const char *, ...);



extern "C" int vsnprintf(char *, unsigned int, const char *, void *);

#line 399 "/usr/include/stdio.h"
extern "C" int fscanf(struct _IO_FILE *, const char *, ...);

#line 405 "/usr/include/stdio.h"
extern "C" int scanf(const char *, ...);

extern "C" int sscanf(const char *, const char *, ...);

#line 441 "/usr/include/stdio.h"
extern "C" int fgetc(struct _IO_FILE *);
extern "C" int getc(struct _IO_FILE *);

#line 448 "/usr/include/stdio.h"
extern "C" int getchar(void);

#line 460 "/usr/include/stdio.h"
extern "C" int getc_unlocked(struct _IO_FILE *);
extern "C" int getchar_unlocked(void);

#line 471 "/usr/include/stdio.h"
extern "C" int fgetc_unlocked(struct _IO_FILE *);

#line 483 "/usr/include/stdio.h"
extern "C" int fputc(int, struct _IO_FILE *);
extern "C" int putc(int, struct _IO_FILE *);

#line 490 "/usr/include/stdio.h"
extern "C" int putchar(int);

#line 504 "/usr/include/stdio.h"
extern "C" int fputc_unlocked(int, struct _IO_FILE *);

#line 512 "/usr/include/stdio.h"
extern "C" int putc_unlocked(int, struct _IO_FILE *);
extern "C" int putchar_unlocked(int);

#line 520 "/usr/include/stdio.h"
extern "C" int getw(struct _IO_FILE *);


extern "C" int putw(int, struct _IO_FILE *);

#line 532 "/usr/include/stdio.h"
extern "C" char *fgets(char *, int, struct _IO_FILE *);

#line 540 "/usr/include/stdio.h"
extern "C" char *gets(char *);

#line 590 "/usr/include/stdio.h"
extern "C" int fputs(const char *, struct _IO_FILE *);

#line 596 "/usr/include/stdio.h"
extern "C" int puts(const char *);

#line 603 "/usr/include/stdio.h"
extern "C" int ungetc(int, struct _IO_FILE *);

#line 610 "/usr/include/stdio.h"
extern "C" unsigned int fread(void *, unsigned int, unsigned int, struct _IO_FILE *);

#line 616 "/usr/include/stdio.h"
extern "C" unsigned int fwrite(const void *, unsigned int, unsigned int, struct _IO_FILE *);

#line 638 "/usr/include/stdio.h"
extern "C" unsigned int fread_unlocked(void *, unsigned int, unsigned int, struct _IO_FILE *);

extern "C" unsigned int fwrite_unlocked(const void *, unsigned int, unsigned int, struct _IO_FILE *);

#line 650 "/usr/include/stdio.h"
extern "C" int fseek(struct _IO_FILE *, long int, int);




extern "C" long int ftell(struct _IO_FILE *);




extern "C" void rewind(struct _IO_FILE *);

#line 674 "/usr/include/stdio.h"
extern "C" int fseeko(struct _IO_FILE *, long int, int);




extern "C" long int ftello(struct _IO_FILE *);

#line 699 "/usr/include/stdio.h"
extern "C" int fgetpos(struct _IO_FILE *, _G_fpos_t *);




extern "C" int fsetpos(struct _IO_FILE *, const _G_fpos_t *);

#line 727 "/usr/include/stdio.h"
extern "C" void clearerr(struct _IO_FILE *);

extern "C" int feof(struct _IO_FILE *);

extern "C" int ferror(struct _IO_FILE *);




extern "C" void clearerr_unlocked(struct _IO_FILE *);
extern "C" int feof_unlocked(struct _IO_FILE *);
extern "C" int ferror_unlocked(struct _IO_FILE *);

#line 759 "/usr/include/stdio.h"
extern "C" int fileno(struct _IO_FILE *);




extern "C" int fileno_unlocked(struct _IO_FILE *);

#line 774 "/usr/include/stdio.h"
extern "C" struct _IO_FILE *popen(const char *, const char *);

#line 780 "/usr/include/stdio.h"
extern "C" int pclose(struct _IO_FILE *);

#line 786 "/usr/include/stdio.h"
extern "C" char *ctermid(char *);

#line 814 "/usr/include/stdio.h"
extern "C" void flockfile(struct _IO_FILE *);



extern "C" int ftrylockfile(struct _IO_FILE *);


extern "C" void funlockfile(struct _IO_FILE *);

#line 140 "/usr/include/stdlib.h"
extern "C" unsigned int __ctype_get_mb_cur_max(void);




extern "C" double atof(const char *);


extern "C" int atoi(const char *);


extern "C" long int atol(const char *);

#line 165 "/usr/include/stdlib.h"
extern "C" double strtod(const char *, char **);

#line 184 "/usr/include/stdlib.h"
extern "C" long int strtol(const char *, char **, int);



extern "C" unsigned long int strtoul(const char *, char **, int);

#line 279 "/usr/include/stdlib.h"
extern "C" double __strtod_internal(const char *, char **, int);


extern "C" float __strtof_internal(const char *, char **, int);


extern "C" long double __strtold_internal(const char *, char **, int);




extern "C" long int __strtol_internal(const char *, char **, int, int);

#line 297 "/usr/include/stdlib.h"
extern "C" unsigned long int __strtoul_internal(const char *, char **, int, int);

#line 429 "/usr/include/stdlib.h"
extern "C" char *l64a(long int);


extern "C" long int a64l(const char *);

#line 445 "/usr/include/stdlib.h"
extern "C" long int random(void);


extern "C" void srandom(unsigned int);

#line 454 "/usr/include/stdlib.h"
extern "C" char *initstate(unsigned int, char *, unsigned int);




extern "C" char *setstate(char *);

#line 478 "/usr/include/stdlib.h"
extern "C" int random_r(struct random_data *, int *);


extern "C" int srandom_r(unsigned int, struct random_data *);


extern "C" int initstate_r(unsigned int, char *, unsigned int, struct random_data *);




extern "C" int setstate_r(char *, struct random_data *);

#line 498 "/usr/include/stdlib.h"
extern "C" int rand(void);

extern "C" void srand(unsigned int);




extern "C" int rand_r(unsigned int *);

#line 513 "/usr/include/stdlib.h"
extern "C" double drand48(void);
extern "C" double erand48(unsigned short int [3]);


extern "C" long int lrand48(void);
extern "C" long int nrand48(unsigned short int [3]);



extern "C" long int mrand48(void);
extern "C" long int jrand48(unsigned short int [3]);



extern "C" void srand48(long int);
extern "C" unsigned short int *seed48(unsigned short int [3]);

extern "C" void lcong48(unsigned short int [7]);

#line 546 "/usr/include/stdlib.h"
extern "C" int drand48_r(struct drand48_data *, double *);

extern "C" int erand48_r(unsigned short int [3], struct drand48_data *, double *);




extern "C" int lrand48_r(struct drand48_data *, long int *);


extern "C" int nrand48_r(unsigned short int [3], struct drand48_data *, long int *);

#line 562 "/usr/include/stdlib.h"
extern "C" int mrand48_r(struct drand48_data *, long int *);


extern "C" int jrand48_r(unsigned short int [3], struct drand48_data *, long int *);

#line 571 "/usr/include/stdlib.h"
extern "C" int srand48_r(long int, struct drand48_data *);


extern "C" int seed48_r(unsigned short int [3], struct drand48_data *);


extern "C" int lcong48_r(unsigned short int [7], struct drand48_data *);

#line 591 "/usr/include/stdlib.h"
extern "C" void *calloc(unsigned int, unsigned int);

#line 600 "/usr/include/stdlib.h"
extern "C" void *realloc(void *, unsigned int);

#line 608 "/usr/include/stdlib.h"
extern "C" void cfree(void *);

#line 617 "/usr/include/stdlib.h"
extern "C" void *valloc(unsigned int);




extern "C" int posix_memalign(void **, unsigned int, unsigned int);

#line 632 "/usr/include/stdlib.h"
extern "C" int atexit(void (*)(void));

#line 638 "/usr/include/stdlib.h"
extern "C" int on_exit(void (*)(int, void *), void *);

#line 646 "/usr/include/stdlib.h"
extern "C" void exit(int);

#line 660 "/usr/include/stdlib.h"
extern "C" char *getenv(const char *);




extern "C" char *__secure_getenv(const char *);

#line 672 "/usr/include/stdlib.h"
extern "C" int putenv(char *);

#line 678 "/usr/include/stdlib.h"
extern "C" int setenv(const char *, const char *, int);



extern "C" int unsetenv(const char *);

#line 689 "/usr/include/stdlib.h"
extern "C" int clearenv(void);

#line 698 "/usr/include/stdlib.h"
extern "C" char *mktemp(char *);

#line 709 "/usr/include/stdlib.h"
extern "C" int mkstemp(char *);

#line 729 "/usr/include/stdlib.h"
extern "C" char *mkdtemp(char *);

#line 738 "/usr/include/stdlib.h"
extern "C" int system(const char *);

#line 756 "/usr/include/stdlib.h"
extern "C" char *realpath(const char *, char *);

#line 774 "/usr/include/stdlib.h"
extern "C" void *bsearch(const void *, const void *, unsigned int, unsigned int, int (*)(const void *, const void *));

#line 780 "/usr/include/stdlib.h"
extern "C" void qsort(void *, unsigned int, unsigned int, int (*)(const void *, const void *));




extern "C" int abs(int);
extern "C" long int labs(long int);

#line 799 "/usr/include/stdlib.h"
extern "C" div_t div(int, int);

extern "C" ldiv_t ldiv(long int, long int);

#line 821 "/usr/include/stdlib.h"
extern "C" char *ecvt(double, int, int *, int *);

#line 827 "/usr/include/stdlib.h"
extern "C" char *fcvt(double, int, int *, int *);

#line 833 "/usr/include/stdlib.h"
extern "C" char *gcvt(double, int, char *);

#line 839 "/usr/include/stdlib.h"
extern "C" char *qecvt(long double, int, int *, int *);


extern "C" char *qfcvt(long double, int, int *, int *);


extern "C" char *qgcvt(long double, int, char *);

#line 851 "/usr/include/stdlib.h"
extern "C" int ecvt_r(double, int, int *, int *, char *, unsigned int);


extern "C" int fcvt_r(double, int, int *, int *, char *, unsigned int);



extern "C" int qecvt_r(long double, int, int *, int *, char *, unsigned int);



extern "C" int qfcvt_r(long double, int, int *, int *, char *, unsigned int);

#line 873 "/usr/include/stdlib.h"
extern "C" int mblen(const char *, unsigned int);


extern "C" int mbtowc(long int *, const char *, unsigned int);



extern "C" int wctomb(char *, long int);



extern "C" unsigned int mbstowcs(long int *, const char *, unsigned int);


extern "C" unsigned int wcstombs(char *, const long int *, unsigned int);

#line 898 "/usr/include/stdlib.h"
extern "C" int rpmatch(const char *);

#line 926 "/usr/include/stdlib.h"
extern "C" int posix_openpt(int);

#line 961 "/usr/include/stdlib.h"
extern "C" int getloadavg(double [], int);

#line 43 "/usr/include/string.h"
extern "C" void *memmove(void *, const void *, unsigned int);

#line 51 "/usr/include/string.h"
extern "C" void *memccpy(void *, const void *, int, unsigned int);

#line 59 "/usr/include/string.h"
extern "C" void *memset(void *, int, unsigned int);


extern "C" int memcmp(const void *, const void *, unsigned int);



extern "C" void *memchr(const void *, int, unsigned int);

#line 84 "/usr/include/string.h"
extern "C" char *strcpy(char *, const char *);


extern "C" char *strncpy(char *, const char *, unsigned int);




extern "C" char *strcat(char *, const char *);


extern "C" char *strncat(char *, const char *, unsigned int);



extern "C" int strcmp(const char *, const char *);


extern "C" int strncmp(const char *, const char *, unsigned int);



extern "C" int strcoll(const char *, const char *);


extern "C" unsigned int strxfrm(char *, const char *, unsigned int);

#line 130 "/usr/include/string.h"
extern "C" char *strdup(const char *);

#line 167 "/usr/include/string.h"
extern "C" char *strchr(const char *, int);


extern "C" char *strrchr(const char *, int);

#line 184 "/usr/include/string.h"
extern "C" unsigned int strcspn(const char *, const char *);



extern "C" unsigned int strspn(const char *, const char *);


extern "C" char *strpbrk(const char *, const char *);


extern "C" char *strstr(const char *, const char *);




extern "C" char *strtok(char *, const char *);

#line 205 "/usr/include/string.h"
extern "C" char *__strtok_r(char *, const char *, char **);




extern "C" char *strtok_r(char *, const char *, char **);

#line 242 "/usr/include/string.h"
extern "C" unsigned int strlen(const char *);

#line 256 "/usr/include/string.h"
extern "C" char *strerror(int);

#line 274 "/usr/include/string.h"
extern "C" int __xpg_strerror_r(int, char *, unsigned int);

#line 288 "/usr/include/string.h"
extern "C" void __bzero(void *, unsigned int);



extern "C" void bcopy(const void *, void *, unsigned int);



extern "C" void bzero(void *, unsigned int);


extern "C" int bcmp(const void *, const void *, unsigned int);



extern "C" char *index(const char *, int);



extern "C" char *rindex(const char *, int);




extern "C" int ffs(int);

#line 325 "/usr/include/string.h"
extern "C" int strcasecmp(const char *, const char *);



extern "C" int strncasecmp(const char *, const char *, unsigned int);

#line 348 "/usr/include/string.h"
extern "C" char *strsep(char **, const char *);

#line 109 "/usr/include/sys/select.h"
extern "C" int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);

#line 121 "/usr/include/sys/select.h"
extern "C" int pselect(int, fd_set *, fd_set *, fd_set *, const struct timespec *, const __sigset_t *);

#line 184 "/usr/include/time.h"
extern "C" long int clock(void);


extern "C" long int time(long int *);


extern "C" double difftime(long int, long int);



extern "C" long int mktime(struct tm *);

#line 200 "/usr/include/time.h"
extern "C" unsigned int strftime(char *, unsigned int, const char *, const struct tm *);

#line 232 "/usr/include/time.h"
extern "C" struct tm *gmtime(const long int *);



extern "C" struct tm *localtime(const long int *);

#line 242 "/usr/include/time.h"
extern "C" struct tm *gmtime_r(const long int *, struct tm *);




extern "C" struct tm *localtime_r(const long int *, struct tm *);

#line 254 "/usr/include/time.h"
extern "C" char *asctime(const struct tm *);


extern "C" char *ctime(const long int *);

#line 265 "/usr/include/time.h"
extern "C" char *asctime_r(const struct tm *, char *);



extern "C" char *ctime_r(const long int *, char *);

#line 275 "/usr/include/time.h"
extern char *__tzname[2];
extern int __daylight;
extern long int __timezone;




extern char *tzname[2];



extern "C" void tzset(void);



extern int daylight;
extern long int timezone;

#line 297 "/usr/include/time.h"
extern "C" int stime(const long int *);

#line 312 "/usr/include/time.h"
extern "C" long int timegm(struct tm *);


extern "C" long int timelocal(struct tm *);


extern "C" int dysize(int);

#line 327 "/usr/include/time.h"
extern "C" int nanosleep(const struct timespec *, struct timespec *);




extern "C" int clock_getres(int, struct timespec *);


extern "C" int clock_gettime(int, struct timespec *);


extern "C" int clock_settime(int, const struct timespec *);

#line 346 "/usr/include/time.h"
extern "C" int clock_nanosleep(int, int, const struct timespec *, struct timespec *);




extern "C" int clock_getcpuclockid(int, int *);




extern "C" int timer_create(int, struct sigevent *, void **);




extern "C" int timer_delete(void *);


extern "C" int timer_settime(void *, int, const struct itimerspec *, struct itimerspec *);




extern "C" int timer_gettime(void *, struct itimerspec *);



extern "C" int timer_getoverrun(void *);

#line 58 "c_queue.sc"
extern "C" void perror(const char *);


extern "C" void *memcpy(void *, const void *, unsigned int);


extern "C" void abort(void);
extern "C" void *malloc(unsigned int);
extern "C" void free(void *);

#line 2091 "GreenhouseSpec.h"
extern "C" void __PRF_channelAccess(unsigned int, unsigned int);
extern "C" void __PRF_startProfiler(const char *const, const char *const, unsigned int *, unsigned int);
void _scc_bit4_err_handle(const _bit4&);

//////////////////////////////////////////////////////////////////////
// End of file GreenhouseSpec.h
//////////////////////////////////////////////////////////////////////
