/*
** Automatically generated from `thread.channel.m'
** by the Mercury compiler,
** version 14.01.1, configured for x86_64--netbsd.
** Do not edit.
**
** The autoconfigured grade settings governing
** the generation of this C file were
**
** TAG_BITS=3
** UNBOXED_FLOAT=yes
** PREGENERATED_DIST=no
** HIGHLEVEL_CODE=yes
**
** END_OF_C_GRADE_INFO
*/


/* :- module thread.channel. */
/* :- interface. */

#ifndef MR_HEADER_GUARD_thread__channel
#define MR_HEADER_GUARD_thread__channel

#ifdef __cplusplus
extern "C" {
#endif

#include "mercury.h"


#ifndef THREAD__CHANNEL_DECL_GUARD
#define THREAD__CHANNEL_DECL_GUARD
#include "thread.mih"

#endif




#line 42 "thread.channel.mih.tmp"
extern const MR_TypeCtorInfo_Struct mercury__thread__channel__thread__channel__type_ctor_info_channel_1;

#line 45 "thread.channel.mih.tmp"
extern const MR_TypeCtorInfo_Struct mercury__thread__channel__thread__channel__type_ctor_info_item_1;

#line 48 "thread.channel.mih.tmp"
extern const MR_TypeCtorInfo_Struct mercury__thread__channel__thread__channel__type_ctor_info_stream_1;

#line 76 "thread.channel.m"
void MR_CALL 
mercury__thread__channel____Compare____stream_1_0(
#line 76 "thread.channel.m"
  MR_Word mercury__thread__channel__param_1,
#line 76 "thread.channel.m"
  MR_Word * mercury__thread__channel__param_2,
#line 76 "thread.channel.m"
  MR_Word mercury__thread__channel__param_3,
#line 76 "thread.channel.m"
  MR_Word mercury__thread__channel__param_4);

#line 76 "thread.channel.m"
MR_bool MR_CALL 
mercury__thread__channel____Unify____stream_1_0(
#line 76 "thread.channel.m"
  MR_Word mercury__thread__channel__param_1,
#line 76 "thread.channel.m"
  MR_Word mercury__thread__channel__param_2,
#line 76 "thread.channel.m"
  MR_Word mercury__thread__channel__param_3);

#line 78 "thread.channel.m"
void MR_CALL 
mercury__thread__channel____Compare____item_1_0(
#line 78 "thread.channel.m"
  MR_Word mercury__thread__channel__param_1,
#line 78 "thread.channel.m"
  MR_Word * mercury__thread__channel__param_2,
#line 78 "thread.channel.m"
  MR_Word mercury__thread__channel__param_3,
#line 78 "thread.channel.m"
  MR_Word mercury__thread__channel__param_4);

#line 78 "thread.channel.m"
MR_bool MR_CALL 
mercury__thread__channel____Unify____item_1_0(
#line 78 "thread.channel.m"
  MR_Word mercury__thread__channel__param_1,
#line 78 "thread.channel.m"
  MR_Word mercury__thread__channel__param_2,
#line 78 "thread.channel.m"
  MR_Word mercury__thread__channel__param_3);

#line 70 "thread.channel.m"
void MR_CALL 
mercury__thread__channel____Compare____channel_1_0(
#line 70 "thread.channel.m"
  MR_Word mercury__thread__channel__param_1,
#line 70 "thread.channel.m"
  MR_Word * mercury__thread__channel__param_2,
#line 70 "thread.channel.m"
  MR_Word mercury__thread__channel__param_3,
#line 70 "thread.channel.m"
  MR_Word mercury__thread__channel__param_4);

#line 70 "thread.channel.m"
MR_bool MR_CALL 
mercury__thread__channel____Unify____channel_1_0(
#line 70 "thread.channel.m"
  MR_Word mercury__thread__channel__param_1,
#line 70 "thread.channel.m"
  MR_Word mercury__thread__channel__param_2,
#line 70 "thread.channel.m"
  MR_Word mercury__thread__channel__param_3);

#line 59 "thread.channel.m"
void MR_CALL 
mercury__thread__channel__untake_4_p_0(
#line 59 "thread.channel.m"
  MR_Word mercury__thread__channel__param_1,
#line 59 "thread.channel.m"
  MR_Word mercury__thread__channel__param_2,
#line 59 "thread.channel.m"
  MR_Box mercury__thread__channel__param_3);

#line 54 "thread.channel.m"
void MR_CALL 
mercury__thread__channel__duplicate_4_p_0(
#line 54 "thread.channel.m"
  MR_Word mercury__thread__channel__param_1,
#line 54 "thread.channel.m"
  MR_Word mercury__thread__channel__param_2,
#line 54 "thread.channel.m"
  MR_Word * mercury__thread__channel__param_3);

#line 49 "thread.channel.m"
void MR_CALL 
mercury__thread__channel__try_take_4_p_0(
#line 49 "thread.channel.m"
  MR_Word mercury__thread__channel__param_1,
#line 49 "thread.channel.m"
  MR_Word mercury__thread__channel__param_2,
#line 49 "thread.channel.m"
  MR_Word * mercury__thread__channel__param_3);

#line 44 "thread.channel.m"
void MR_CALL 
mercury__thread__channel__take_4_p_0(
#line 44 "thread.channel.m"
  MR_Word mercury__thread__channel__param_1,
#line 44 "thread.channel.m"
  MR_Word mercury__thread__channel__param_2,
#line 44 "thread.channel.m"
  MR_Box * mercury__thread__channel__param_3);

#line 39 "thread.channel.m"
void MR_CALL 
mercury__thread__channel__put_4_p_0(
#line 39 "thread.channel.m"
  MR_Word mercury__thread__channel__param_1,
#line 39 "thread.channel.m"
  MR_Word mercury__thread__channel__param_2,
#line 39 "thread.channel.m"
  MR_Box mercury__thread__channel__param_3);

#line 35 "thread.channel.m"
void MR_CALL 
mercury__thread__channel__init_3_p_0(
#line 35 "thread.channel.m"
  MR_Word mercury__thread__channel__param_1,
#line 35 "thread.channel.m"
  MR_Word * mercury__thread__channel__param_2);

void mercury__thread__channel__init(void);
void mercury__thread__channel__init_type_tables(void);
void mercury__thread__channel__init_debugger(void);

#ifdef __cplusplus
}
#endif

#endif /* MR_HEADER_GUARD_thread.channel */

/* :- end_interface thread.channel. */
