/****************************************************************************
 *
 *	Copyright (C) 1984-2007 Micro Focus (IP) Limited.
 *	All rights reserved.
 *
 *	The software and information contained herein are
 *	proprietary to, and comprise valuable trade secrets of,
 *	Micro Focus (IP) Limited, which intends to preserve
 *	as trade secrets such software and information. This software
 *	is an unpublished copyright of Micro Focus and may not be
 *	used, copied, transmitted, or stored in any manner.  This
 *	software and information or any other copies thereof may not
 *	be provided or otherwise made available to any other person.
 *
 *	Genesis Run Time System (Studio/Server 5.0 Freeze)
 *
 *	@(#)cblproto.h	11.5
 *
 *	Last Modified on 07/01/03 at 12:02:06
 *
 ****************************************************************************/

/** Start of source module cblproto.h **/

#include "cbltypes.h"
/* Prototypes for Memory management */
cbl_rtncode_t	CBL_ALLOC_DYN_MEM(
			cbl_pointer_t	*mem_pointer,
			cbl_os_size_t	 mem_size,
			cbl_os_flags_t	 mem_flags);
cbl_rtncode_t	CBL_ALLOC_MEM(
			cbl_pointer_t	*mem_pointer,
			cbl_os_size_t	 mem_size,
			cbl_os_flags_t	 mem_flags);
cbl_rtncode_t	CBL_ALLOC_SHMEM(
			cbl_pointer_t	*mem_pointer,
			cbl_os_size_t	 mem_size,
			cbl_os_flags_t	 mem_flags);
cbl_rtncode_t	CBL_ALLOC_THREAD_MEM(
			cbl_pointer_t	*mem_pointer,
			cbl_os_size_t	 mem_size,
			cbl_os_flags_t	 mem_flags);
cbl_rtncode_t	CBL_FREE_DYN_MEM(
			cbl_os_pointer_t	 mem_pointer);
cbl_rtncode_t	CBL_FREE_MEM(
			cbl_os_pointer_t	 mem_pointer);
cbl_rtncode_t	CBL_FREE_SHMEM(
			cbl_os_pointer_t	 mem_pointer);
cbl_rtncode_t	CBL_FREE_THREAD_MEM(
			cbl_os_pointer_t	 mem_pointer);
cbl_rtncode_t	CBL_GET_SHMEM_PTR(
			cbl_pointer_t	*mem_node_value,
			cbl_node_name_t	*mem_node_name);
cbl_rtncode_t	CBL_PUT_SHMEM_PTR(
			cbl_os_pointer_t	 mem_node_value,
			cbl_node_name_t	*mem_node_name);
cbl_rtncode_t	CBL_MEM_STRATEGY(cobuns32_t     func,
				 cbl_x4_comp5_t *flags);
cbl_rtncode_t	CBL_MEM_VALIDATE(cbl_os_flags_t flags,
				 cbl_mem_validate_params_t *param);
/* Prototypes for Miscellaneous functions */
cbl_rtncode_t	CBL_AND(
			cbl_x1_compx_t	*src,
			cbl_x1_compx_t	*tgt,
			cbl_os_size_t	 len);
cbl_rtncode_t	CBL_EQ(
			cbl_x1_compx_t	*src,
			cbl_x1_compx_t	*tgt,
			cbl_os_size_t	 len);
cbl_rtncode_t	CBL_GET_OS_INFO(
			cbl_os_info_params_t	*os_info_block);
cbl_rtncode_t	CBL_IMP(
			cbl_x1_compx_t	*src,
			cbl_x1_compx_t	*tgt,
			cbl_os_size_t	 len);
cbl_rtncode_t	CBL_NOT(
			cbl_x1_compx_t	*tgt,
			cbl_os_size_t	 len);
cbl_rtncode_t	CBL_OR(
			cbl_x1_compx_t	*src,
			cbl_x1_compx_t	*tgt,
			cbl_os_size_t	 len);
cbl_rtncode_t	CBL_TOLOWER(
			cbl_x1_t	*text,
			cbl_os_size_t	 len);
cbl_rtncode_t	CBL_TOUPPER(
			cbl_x1_t	*text,
			cbl_os_size_t	 len);
cbl_rtncode_t	CBL_XOR(
			cbl_x1_compx_t	*src,
			cbl_x1_compx_t	*tgt,
			cbl_os_size_t	 len);
/* Prototypes for Miscellaneous File Management */
cbl_rtncode_t	CBL_CHANGE_DIR(
			const cbl_x1_t	*cd_path);
cbl_rtncode_t	CBL_CHECK_FILE_EXIST(
			const cbl_x1_t	*fe_path,
			cbl_fileexist_buf_t	*fe_details);
cbl_rtncode_t	CBL_COPY_FILE(
			const cbl_x1_t	*cf_from,
			const cbl_x1_t	*cf_to);
cbl_rtncode_t	CBL_CREATE_DIR(
			const cbl_x1_t	*cd_path);
cbl_rtncode_t	CBL_DELETE_DIR(
			const cbl_x1_t	*dd_path);
cbl_rtncode_t	CBL_DELETE_FILE(
			const cbl_x1_t	*df_path);
cbl_rtncode_t	CBL_DIR_SCAN_END(
			cbl_pointer_t	*ds_handle);
cbl_rtncode_t	CBL_DIR_SCAN_READ(
			cbl_pointer_t	*ds_handle,
			cbl_ds_entry_t	*ds_entry);
cbl_rtncode_t	CBL_DIR_SCAN_START(
			cbl_pointer_t	*ds_handle,
			cbl_ds_msg_t	*ds_msg,
			cobuns32_t	 ds_attrs,
			cbl_os_flags_t	 ds_flags);
cbl_rtncode_t	CBL_FILENAME_CONVERT(
			const cbl_x1_compx_t	*fnc_func,
			const cbl_x1_t	*fnc_in,
			cbl_x1_t	*fnc_out,
			cbl_os_size_t	 fnc_in_length,
			cbl_os_size_t	 fnc_out_length);
cbl_os_size_t	CBL_FILENAME_MAX_LENGTH(void);
cbl_rtncode_t	CBL_GET_CURRENT_DIR(
			cbl_os_flags_t	 gcd_flags,
			cbl_os_size_t	 gcd_name_length,
			cbl_x1_t	*gcd_name);
cbl_rtncode_t	CBL_GET_FILE_INFO(
			cbl_os_flags_t	 fi_flags,
			const cbl_x1_t	*fi_path,
			cbl_fileexist_buf_t	*fi_details);
cbl_rtncode_t	CBL_JOIN_FILENAME(
			cbl_splitjoin_buf_t	*sj_packet,
			cbl_x1_t	*sj_buffer,
			const cbl_x1_t	*sj_device,
			const cbl_x1_t	*sj_basename,
			const cbl_x1_t	*sj_extension);
cbl_rtncode_t	CBL_LOCATE_FILE(
			const cbl_x1_t	*lf_path,
			const cbl_x1_compx_t	*lf_func,
			cbl_x1_t	*lf_actual_path,
			cbl_x1_compx_t	*lf_exist_flag,
			cbl_x1_compx_t	*lf_path_flag);
cbl_rtncode_t	CBL_RENAME_FILE(
			const cbl_x1_t	*rf_from,
			const cbl_x1_t	*rf_to);
cbl_rtncode_t	CBL_SPLIT_FILENAME(
			cbl_splitjoin_buf_t	*sj_packet,
			cbl_x1_t	*sj_buffer);
cbl_rtncode_t	CBL_GET_FILE_SYSTEM_INFO(
			cobuns32_t	fsi_command_code,
			const cbl_x1_t	*fsi_path,
			cbl_fs_info_params_t *fsi_params);
/* Prototypes for NLS Support */
cbl_rtncode_t	CBL_NLS_CLOSE_MSG_FILE(
			cbl_x4_compx_t	*msg_handle);
cbl_rtncode_t	CBL_NLS_COMPARE(
			const cbl_x1_t	*string1,
			const cbl_x1_t	*string2,
			cbl_os_size_t	 string1_length,
			cbl_os_size_t	 string2_length,
			cbl_sx1_comp5_t	*compare_result);
cbl_rtncode_t	CBL_NLS_INFO(
			const cbl_x1_compx_t	*info_function_code,
			const cbl_x1_compx_t	*info_category,
			cbl_x1_t	*info_buffer);
cbl_rtncode_t	CBL_NLS_OPEN_MSG_FILE(
			const cbl_x1_t	*msg_file_name,
			const cbl_x1_compx_t	*msg_file_name_length,
			cbl_x4_compx_t	*msg_handle);
cbl_rtncode_t	CBL_NLS_READ_MSG(
			const cbl_x4_compx_t	*msg_handle,
			const cbl_nls_msg_number_pair_t	*msg_number_pair,
			const cbl_nls_msg_ins_struct_t	*msg_ins_struct,
			cbl_nls_msg_buffer_t	*msg_buffer);
/* Prototypes for Run-unit specific Support */
cbl_rtncode_t	CBL_ABORT_RUN_UNIT(
			cbl_rtncode_t	 rtncode);
cbl_rtncode_t	CBL_CULL_RUN_UNITS(void);
cbl_rtncode_t	CBL_ERROR_PROC(
			const cbl_x1_compx_t	*install_flag,
			const cbl_ppointer_t	*install_addrs);
cbl_rtncode_t	CBL_EXEC_RUN_UNIT(
			const cbl_x1_t	*command_line,
			cbl_os_size_t	 command_line_len,
			cbl_x8_comp5_t	*ru_handle,
			cbl_os_size_t	 stack_size,
			cbl_os_flags_t	 flags);
cbl_rtncode_t	CBL_EXIT_PROC(
			const cbl_x1_compx_t	*install_flag,
			cbl_exit_params_t	*install_params);
cbl_rtncode_t	CBL_GET_EXIT_INFO(
			cbl_exit_info_params_t	*gei_params);
cbl_rtncode_t	CBL_SUBSYSTEM(
			const cbl_x1_compx_t	*function_code,
			cbl_subsys_params_t	*parameter);
cbl_rtncode_t	CBL_YIELD_RUN_UNIT(void);
cbl_rtncode_t	SYSTEM(
			const cbl_x1_t	*command_line);
/* Prototypes for ByteStream API's */
cbl_rtncode_t	CBL_CLOSE_FILE(
			cbl_bytestream_handle_t	*file_handle);
cbl_rtncode_t	CBL_CREATE_FILE(
			cbl_x1_t	*filename,
			cbl_x1_compx_t	*access_mode,
			cbl_x1_compx_t	*deny_mode,
			cbl_x1_compx_t	*device,
			cbl_bytestream_handle_t	*file_handle);
cbl_rtncode_t	CBL_FLUSH_FILE(
			cbl_bytestream_handle_t	*file_handle);
cbl_rtncode_t	CBL_FREE_RECORD_LOCK(
			cbl_bytestream_handle_t	*file_handle,
			cbl_x4_compx_t	*record_offset,
			cbl_x4_compx_t	*record_length,
			cbl_x2_compx_t	*reserved);
cbl_rtncode_t	CBL_GET_RECORD_LOCK(
			cbl_bytestream_handle_t	*file_handle,
			cbl_x4_compx_t	*record_offset,
			cbl_x4_compx_t	*record_length,
			cbl_x2_compx_t	*reserved);
cbl_rtncode_t	CBL_OPEN_FILE(
			cbl_x1_t	*filename,
			cbl_x1_compx_t	*access_mode,
			cbl_x1_compx_t	*deny_mode,
			cbl_x1_compx_t	*device,
			cbl_bytestream_handle_t	*file_handle);
cbl_rtncode_t	CBL_READ_FILE(
			cbl_bytestream_handle_t	*file_handle,
			cbl_x8_compx_t	*file_offset,
			cbl_x4_compx_t	*byte_count,
			cbl_x1_compx_t	*file_flags,
			void	*file_buffer);
cbl_rtncode_t	CBL_TEST_RECORD_LOCK(
			cbl_bytestream_handle_t	*file_handle,
			cbl_x4_compx_t	*record_offset,
			cbl_x4_compx_t	*record_length,
			cbl_x2_compx_t	*reserved);
cbl_rtncode_t	CBL_WRITE_FILE(
			cbl_bytestream_handle_t	*file_handle,
			cbl_x8_compx_t	*file_offset,
			cbl_x4_compx_t	*byte_count,
			cbl_x1_compx_t	*file_flags,
			void	*file_buffer);
/* Prototypes for VFile Routines */
cbl_rtncode_t	CBL_CLOSE_VFILE(
			cobuns16_t	 heap_id);
cbl_rtncode_t	CBL_OPEN_VFILE(
			cbl_vfile_handle_t	*heap_id,
			cbl_vfile_status_t	*status_word);
cbl_rtncode_t	CBL_READ_VFILE(
			cobuns16_t	 heap_id,
			cobuns32_t	 heap_ref,
			cobuns32_t	 heap_length,
			void	*heap_buffer);
cbl_rtncode_t	CBL_WRITE_VFILE(
			cobuns16_t	 heap_id,
			cobuns32_t	 heap_ref,
			cobuns32_t	 heap_length,
			const void	*heap_buffer);
/* Prototypes for Screen Handling Routines */
cbl_rtncode_t	CBL_CLEAR_SCR(
			const cbl_x1_compx_t	*acharacter,
			const cbl_x1_compx_t	*attribute);
cbl_rtncode_t	CBL_GET_CSR_POS(
			cbl_screen_position_t	*screen_position);
cbl_rtncode_t	CBL_GET_KBD_STATUS(
			cbl_x1_compx_t	*key_status);
cbl_rtncode_t	CBL_GET_SCR_GRAPHICS(
			cbl_get_scr_graphics_buffer_t	*graphics_buffer);
cbl_rtncode_t	CBL_GET_SCR_LINE_DRAW(
			cbl_x1_compx_t	*line_draw_function_code,
			cbl_get_scr_line_draw_buffer_t	*line_draw_buffer);
cbl_rtncode_t	CBL_GET_SCR_SIZE(
			cbl_x1_compx_t	*screen_depth,
			cbl_x1_compx_t	*screen_width);
cbl_rtncode_t	CBL_READ_KBD_CHAR(
			cbl_x1_compx_t	*acharacter);
cbl_rtncode_t	CBL_READ_SCR_ATTRS(
			const cbl_screen_position_t	*screen_position,
			void	*attribute_buffer,
			cbl_x2_compx_t	*string_length);
cbl_rtncode_t	CBL_READ_SCR_CHARS(
			const cbl_screen_position_t	*screen_position,
			cbl_x1_t	*character_buffer,
			cbl_x2_compx_t	*string_length);
cbl_rtncode_t	CBL_READ_SCR_CHATTRS(
			const cbl_screen_position_t	*screen_position,
			cbl_x1_t	*character_buffer,
			void	*attribute_buffer,
			cbl_x2_compx_t	*string_length);
cbl_rtncode_t	CBL_SCR_ALLOCATE_COLOR(
			cbl_x2_compx_t	*table_count,
			cbl_generic_attr_rgb_values_t	*rgb_values,
			cbl_x4_compx_t	*color_attribute,
			cbl_x1_compx_t	*non_exact_match);
cbl_rtncode_t	CBL_SCR_ALLOCATE_VC_COLOR(
			cbl_x2_compx_t	*table_count,
			const cbl_x4_compx_t	*color_attribute,
			cbl_generic_attr_rgb_values_t	*rgb_values);
cbl_rtncode_t	CBL_SCR_CREATE_VC(void);
cbl_rtncode_t	CBL_SCR_DESTROY_VC(void);
cbl_rtncode_t	CBL_SCR_GET_ATTRIBUTES(
			cbl_x2_compx_t	*table_count,
			const cbl_x1_compx_t	*attribute_index,
			cbl_generic_attr_value_t	*attribute_value);
cbl_rtncode_t	CBL_SCR_GET_ATTR_INFO(
			cbl_generic_attr_information_t	*attribute_information);
cbl_rtncode_t	CBL_SCR_NAME_TO_RGB(
			const cbl_x1_t	*color_name,
			cbl_generic_attr_rgb_values_t	*rgb_values);
cbl_rtncode_t	CBL_SCR_QUERY_COLORMAP(
			cbl_x2_compx_t	*table_count,
			const cbl_x4_compx_t	*color_attribute,
			cbl_generic_attr_rgb_values_t	*rgb_values);
cbl_rtncode_t	CBL_SCR_RESTORE(
			cobuns32_t	 scr_flags,
			cbl_os_pointer_t	 handle);
cbl_rtncode_t	CBL_SCR_RESTORE_ATTRIBUTES(
			cbl_pointer_t	*handle);
cbl_os_pointer_t	CBL_SCR_SAVE(
			cobuns32_t	 scr_flags,
			cobuns32_t	 top_line,
			cobuns32_t	 end_line);
cbl_rtncode_t	CBL_SCR_SAVE_ATTRIBUTES(
			cbl_pointer_t	*handle);
cbl_rtncode_t	CBL_SCR_SET_ATTRIBUTES(
			cbl_x2_compx_t	*table_count,
			const cbl_x1_compx_t	*attribute_index,
			const cbl_generic_attr_value_t	*attribute_value);
cbl_rtncode_t	CBL_SCR_SET_PC_ATTRIBUTES(void);
cbl_rtncode_t	CBL_SET_CSR_POS(
			const cbl_screen_position_t	*screen_position);
cbl_rtncode_t	CBL_SWAP_SCR_CHATTRS(
			const cbl_screen_position_t	*screen_position,
			cbl_x1_t	*character_buffer,
			void	*attribute_buffer,
			cbl_x2_compx_t	*string_length);
cbl_rtncode_t	CBL_WRITE_SCR_ATTRS(
			const cbl_screen_position_t	*screen_position,
			const void	*attribute_buffer,
			const cbl_x2_compx_t	*string_length);
cbl_rtncode_t	CBL_WRITE_SCR_CHARS(
			const cbl_screen_position_t	*screen_position,
			const cbl_x1_t	*character_buffer,
			const cbl_x2_compx_t	*string_length);
cbl_rtncode_t	CBL_WRITE_SCR_CHARS_ATTR(
			const cbl_screen_position_t	*screen_position,
			const cbl_x1_t	*character_buffer,
			const cbl_x2_compx_t	*string_length,
			const cbl_x1_compx_t	*attribute);
cbl_rtncode_t	CBL_WRITE_SCR_CHATTRS(
			const cbl_screen_position_t	*screen_position,
			const cbl_x1_t	*character_buffer,
			const void	*attribute_buffer,
			const cbl_x2_compx_t	*string_length);
cbl_rtncode_t	CBL_WRITE_SCR_N_ATTR(
			const cbl_screen_position_t	*screen_position,
			const cbl_x1_compx_t	*attribute,
			const cbl_x2_compx_t	*string_length);
cbl_rtncode_t	CBL_WRITE_SCR_N_CHAR(
			const cbl_screen_position_t	*screen_position,
			const cbl_x1_compx_t	*acharacter,
			const cbl_x2_compx_t	*string_length);
cbl_rtncode_t	CBL_WRITE_SCR_N_CHATTR(
			const cbl_screen_position_t	*screen_position,
			const cbl_x1_compx_t	*acharacter,
			const cbl_x1_compx_t	*attribute,
			const cbl_x2_compx_t	*string_length);
cbl_rtncode_t	CBL_WRITE_SCR_TTY(
			const cbl_x1_t	*character_buffer,
			const cbl_x2_compx_t	*string_length);
/* Prototypes for Mouse handling */
cbl_rtncode_t	CBL_GET_MOUSE_MASK(
			const cbl_x4_compx_t	*mouse_handle,
			cbl_x2_compx_t	*mouse_mask);
cbl_rtncode_t	CBL_GET_MOUSE_POSITION(
			const cbl_x4_compx_t	*mouse_handle,
			cbl_mouse_pos_t	*mouse_position);
cbl_rtncode_t	CBL_GET_MOUSE_STATUS(
			const cbl_x4_compx_t	*mouse_handle,
			cbl_x2_compx_t	*mouse_queue_size);
cbl_rtncode_t	CBL_HIDE_MOUSE(
			const cbl_x4_compx_t	*mouse_handle);
cbl_rtncode_t	CBL_INIT_MOUSE(
			cbl_x4_compx_t	*mouse_handle,
			cbl_x2_compx_t	*mouse_buttons);
cbl_rtncode_t	CBL_READ_MOUSE_EVENT(
			const cbl_x4_compx_t	*mouse_handle,
			cbl_mouse_event_t	*mouse_event,
			const cbl_x1_compx_t	*read_type);
cbl_rtncode_t	CBL_SET_MOUSE_MASK(
			const cbl_x4_compx_t	*mouse_handle,
			const cbl_x2_compx_t	*mouse_mask);
cbl_rtncode_t	CBL_SET_MOUSE_POSITION(
			const cbl_x4_compx_t	*mouse_handle,
			const cbl_mouse_pos_t	*mouse_position);
cbl_rtncode_t	CBL_SHOW_MOUSE(
			const cbl_x4_compx_t	*mouse_handle);
cbl_rtncode_t	CBL_TERM_MOUSE(
			cbl_x4_compx_t	*mouse_handle);
cbl_rtncode_t	PC_GET_MOUSE_SHAPE(
			const cbl_x4_compx_t	*mouse_handle,
			void	*reserved_item,
			cbl_mouse_shape_t	*mouse_ptr_shape);
cbl_rtncode_t	PC_SET_MOUSE_HIDE_AREA(
			const cbl_x4_compx_t	*mouse_handle,
			const cbl_mouse_rect_t	*collision_area);
cbl_rtncode_t	PC_SET_MOUSE_SHAPE(
			const cbl_x4_compx_t	*mouse_handle,
			const void	*reserved_item,
			const cbl_mouse_shape_t	*mouse_ptr_shape);
/* Prototypes for PC specific run-time calls */
cbl_rtncode_t	PC_FIND_DRIVES(
			cbl_x4_compx_t	*drive_info);
cbl_rtncode_t	PC_READ_DRIVE(
			cbl_x1_compx_t	*drive_letter);
cbl_rtncode_t	PC_SET_DRIVE(
			cbl_x1_compx_t	*drive_letter);
/* Prototypes for Windows specific run-time calls */
cbl_rtncode_t	PC_WIN_ABOUT(
			const cbl_x1_t	*about_string,
			cbl_os_size_t	 about_len);
cbl_rtncode_t	PC_WIN_CHAR_TO_OEM(
			const cbl_x1_t	*srcbuf,
			cbl_x1_t	*tgtbuf,
			cbl_os_size_t	 src_len,
			cbl_os_size_t	 tgt_len);
cbl_rtncode_t	PC_WIN_HANDLE(
			cbl_x4_comp5_t	*win_handle);
cbl_rtncode_t	PC_WIN_INIT(
			cbl_x4_comp5_t	*hInst,
			cbl_x4_comp5_t	*HPrevInst,
			cbl_pointer_t	*lpszCmdLIne,
			cbl_x4_comp5_t	*nCmdShow);
cbl_rtncode_t	PC_WIN_OEM_TO_CHAR(
			const cbl_x1_t	*srcbuf,
			cbl_x1_t	*tgtbuf,
			cbl_os_size_t	 src_len,
			cbl_os_size_t	 tgt_len);
cbl_rtncode_t	PC_WIN_YIELD(void);
/* Prototypes for Program Handling Routines */
cbl_rtncode_t	CBL_CANCEL_PROC(
			cobuns32_t	 cancel_proc_function,
			cbl_cancel_proc_params_t	*cancel_proc_paramblock,
			cobuns32_t	 cancel_proc_datalength);
cbl_rtncode_t	CBL_DEBUGBREAK(void);
cbl_rtncode_t	CBL_DEBUG_START(
			cbl_os_flags_t	 dbg_flags,
			cbl_os_ssize_t	 dbg_timeout,
			const cbl_x1_t	*dbg_identifier);
cbl_rtncode_t	CBL_DEBUG_STOP(
			cbl_os_flags_t	 dbg_flags);
cbl_rtncode_t	CBL_FFND_REPORT(
			cobuns32_t	 ffr_rtserr,
			cobuns32_t	 ffr_terminate);
cbl_rtncode_t	CBL_GET_PROGRAM_INFO(
			cobuns32_t	 gpi_function,
			cbl_prog_info_params_t	*gpi_block,
			cbl_x1_t	*gpi_name_buf,
			cbl_x4_comp5_t	*gpi_name_len);
/* Prototypes for Monitor Synchronization APIs */
cbl_rtncode_t	CBL_MONITOR_BROWSE(
			cbl_os_pointer_t	 mon_handle);
cbl_rtncode_t	CBL_MONITOR_BROWSE_TO_READ(
			cbl_os_pointer_t	 mon_handle);
cbl_rtncode_t	CBL_MONITOR_BROWSE_TO_WRITE(
			cbl_os_pointer_t	 mon_handle);
cbl_rtncode_t	CBL_MONITOR_CLOSE(
			cbl_os_pointer_t	 mon_handle);
cbl_rtncode_t	CBL_MONITOR_OPEN_INTRA(
			cbl_pointer_t	*mon_handle,
			cbl_os_flags_t	 mon_flags);
cbl_rtncode_t	CBL_MONITOR_READ(
			cbl_os_pointer_t	 mon_handle);
cbl_rtncode_t	CBL_MONITOR_RELEASE(
			cbl_os_pointer_t	 mon_handle);
cbl_rtncode_t	CBL_MONITOR_UNBROWSE(
			cbl_os_pointer_t	 mon_handle);
cbl_rtncode_t	CBL_MONITOR_UNREAD(
			cbl_os_pointer_t	 mon_handle);
cbl_rtncode_t	CBL_MONITOR_UNWRITE(
			cbl_os_pointer_t	 mon_handle);
cbl_rtncode_t	CBL_MONITOR_WRITE(
			cbl_os_pointer_t	 mon_handle);
cbl_rtncode_t	CBL_MONITOR_WRITE_TO_BROWSE(
			cbl_os_pointer_t	 mon_handle);
/* Prototypes for Mutex Synchronization APIs */
cbl_rtncode_t	CBL_MUTEX_ACQUIRE(
			cbl_os_pointer_t	 mut_handle,
			cbl_os_flags_t	 mut_flags);
cbl_rtncode_t	CBL_MUTEX_CLOSE(
			cbl_os_pointer_t	 mut_handle);
cbl_rtncode_t	CBL_MUTEX_OPEN_INTRA(
			cbl_pointer_t	*mut_handle,
			cbl_os_flags_t	 mut_flags);
cbl_rtncode_t	CBL_MUTEX_RELEASE(
			cbl_os_pointer_t	 mut_handle);
/* Prototypes for Event Synchronization APIs */
cbl_rtncode_t	CBL_EVENT_CLEAR(
			cbl_os_pointer_t	 evt_handle);
cbl_rtncode_t	CBL_EVENT_CLOSE(
			cbl_os_pointer_t	 evt_handle);
cbl_rtncode_t	CBL_EVENT_OPEN_INTRA(
			cbl_pointer_t	*evt_handle,
			cbl_os_flags_t	 evt_flags);
cbl_rtncode_t	CBL_EVENT_POST(
			cbl_os_pointer_t	 evt_handle);
cbl_rtncode_t	CBL_EVENT_WAIT(
			cbl_os_pointer_t	 evt_handle,
			cbl_os_flags_t	 evt_flags);
/* Prototypes for Semaphore Synchronization APIs */
cbl_rtncode_t	CBL_SEMAPHORE_CLEAR(
			cbl_os_pointer_t	 sem_handle);
cbl_rtncode_t	CBL_SEMAPHORE_CLOSE(
			cbl_os_pointer_t	 sem_handle);
cbl_rtncode_t	CBL_SEMAPHORE_OPEN_INTRA(
			cbl_pointer_t	*sem_handle,
			cobuns32_t	 sem_start,
			cbl_os_flags_t	 sem_flags);
cbl_rtncode_t	CBL_SEMAPHORE_POST(
			cbl_os_pointer_t	 sem_handle);
cbl_rtncode_t	CBL_SEMAPHORE_WAIT(
			cbl_os_pointer_t	 sem_handle,
			cbl_os_flags_t	 sem_flags);
/* Prototypes for Thread Local Storage APIs */
cbl_rtncode_t	CBL_TSTORE_CLOSE(
			cbl_os_pointer_t	 tstore_handle);
cbl_rtncode_t	CBL_TSTORE_CREATE(
			cbl_pointer_t	*tstore_handle,
			cbl_os_size_t	 tstore_size,
			cbl_os_flags_t	 tstore_flags);
cbl_rtncode_t	CBL_TSTORE_GET(
			cbl_os_pointer_t	 tstore_handle,
			cbl_pointer_t	*tstore_ptr);
/* Prototypes for Threading APIs */
cbl_rtncode_t	CBL_THREAD_CREATE(
			cbl_x1_t	*thread_entry,
			void	*thread_param,
			cbl_os_size_t	 thread_param_size,
			cbl_os_flags_t	 thread_flags,
			cobs32_t	 thread_priority,
			cbl_os_size_t	 thread_stack_size,
			cbl_pointer_t	*thread_handle);
cbl_rtncode_t	CBL_THREAD_CREATE_P(
			cbl_os_ppointer_t	 thread_entry_ptr,
			void	*thread_param,
			cbl_os_size_t	 thread_param_size,
			cbl_os_flags_t	 thread_flags,
			cobs32_t	 thread_priority,
			cbl_os_size_t	 thread_stack_size,
			cbl_pointer_t	*thread_handle);
cbl_rtncode_t	CBL_THREAD_DETACH(
			cbl_os_pointer_t	 thread_handle);
cbl_rtncode_t	CBL_THREAD_EXIT(
			cbl_os_pointer_t	 thread_rtnvalue);
cbl_rtncode_t	CBL_THREAD_IDDATA_ALLOC(
			cbl_os_pointer_t	 thread_iddata,
			cbl_os_size_t	 thread_iddata_size);
cbl_rtncode_t	CBL_THREAD_IDDATA_GET(
			cbl_pointer_t	*thread_iddata,
			cbl_os_pointer_t	 thread_handle);
cbl_rtncode_t	CBL_THREAD_KILL(
			cbl_os_pointer_t	 thread_handle);
cbl_rtncode_t	CBL_THREAD_LIST_END(void);
cbl_rtncode_t	CBL_THREAD_LIST_NEXT(
			cbl_pointer_t	*thread_handle,
			cbl_x4_compx_t	*thread_state,
			cbl_pointer_t	*thread_iddata);
cbl_rtncode_t	CBL_THREAD_LIST_START(
			cbl_pointer_t	*thread_handle,
			cbl_x4_compx_t	*thread_state,
			cbl_pointer_t	*thread_iddata);
cbl_rtncode_t	CBL_THREAD_LOCK(void);
cbl_rtncode_t	CBL_THREAD_PROG_LOCK(void);
cbl_rtncode_t	CBL_THREAD_PROG_UNLOCK(void);
cbl_rtncode_t	CBL_THREAD_RESUME(
			cbl_os_pointer_t	 thread_handle);
cbl_rtncode_t	CBL_THREAD_SELF(
			cbl_pointer_t	*thread_handle);
cbl_rtncode_t	CBL_THREAD_SLEEP(
			cbl_os_size_t	 thread_sleep);
cbl_rtncode_t	CBL_THREAD_SUSPEND(
			cbl_os_pointer_t	 thread_handle);
cbl_rtncode_t	CBL_THREAD_UNLOCK(void);
cbl_rtncode_t	CBL_THREAD_WAIT(
			cbl_os_pointer_t	 thread_handle,
			cbl_pointer_t	*thread_rtnvalue);
cbl_rtncode_t	CBL_THREAD_YIELD(void);

/** End of source module cblproto.h **/
