📄 d300.h
字号:
/*********************************************************************
*
*
* D300.h
*
*
*********************************************************************/
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <time.h>
#include <fcntl.h>
#include <afxmt.h>
#include <srllib.h>
#include <dxxxlib.h>
#include <dtilib.h>
#include <sctools.h>
//#include"myvc.h"
//#include"mybase.h"
/*********************************************************************
*
*
* 操作函数原型
*
*
*********************************************************************/
/*************************************************************************
* 函数 : init_prog()
* 描叙 : 应用初始化,初始化数据结构
*
*************************************************************************/
int init_prog(void);
/*************************************************************************
* 函数 : init00(int chan)
* 描叙 : 初始化一个通道的全部数据结构
* chan : 通道号 (1...MAXCHAN)
*
*************************************************************************/
bool init00(int chan);
/*************************************************************************
* 函数 : init_30()
* 描叙 : 初始化所有通道的数据结构
*
*************************************************************************/
int init_30();
/*************************************************************************
* 函数 : init_voice()
* 描叙 : 打开语音卡
*
* 参数 : 无
* 说明 : 根据semaphore的配置,打开查询程序的全部端口
* 返回 : 打开并占用的端口数量,<=0 表示打开失败.
*************************************************************************/
int init_voice(void);
/*************************************************************************
* 函数 : open_all_voc_file()
* 描叙 : 打开VFIT中列出的所有语音文件,并将语音句柄保存在VFIT结构中。
*
* 参数 : 无
* 返回 : 打开的文件数
*************************************************************************/
/*************************************************************************
* FUNC: main_thread_func()
*
* 说明: 主线程控制函数
*
*
************************************************************************/
UINT main_thread_func(int cn);
UINT singleinput_thread_func(int cn);
UINT monthinput_thread_func(int cn);
UINT multiplay_thread_func(int cn);
UINT timeout_thread_func(int cn);
int open_all_voc_file(void);
/*******************************************************************************
* Name : close_channel(int chn)
* Input: 通道号 ( chn = 1...MAXCHAN )
* Des: 关闭语音卡,关闭所有文件。
*
*******************************************************************************/
int close_channel(int chn);
/*******************************************************************************
* Name : end_prog()
* Input: none.
* Des: 关闭语音卡,关闭所有文件。
*
*******************************************************************************/
int end_prog();
/*************************************************************************
* FUNC: set_onhook(int dti)
*
* 说明: 挂机等待拨入
*
*
************************************************************************/
int set_onhook (int dti);
/*************************************************************************
* FUNC: get_chn_next_state(int cn, EVT ev)
*
* 说明: 取通道的下一状态
*
************************************************************************/
STATE get_next_state(int cn, EVT ev);
/*************************************************************************
* FUNC: get_next_thread(int cn, EVT ev)
*
* 说明: 取通道的下一线程
*
************************************************************************/
THREAD get_next_thread(int cn, EVT ev);
/*************************************************************************
* FUNC: get_timeout_value(int cn, EVT ev)
*
* 说明: 取通道的下一状态
*
************************************************************************/
int get_timeout_value(int cn, EVT ev);
/*************************************************************************
* FUNC: dit_onhook(int dti)
*
* 说明: 挂机等待拨入
*
*
************************************************************************/
int dti_onhook (int dti);
/******************************************************************************
* Name: dti_offhook(int cn)
* Function: Call begins from here. CO set seize signal,
* CPE gives acknowlage
* 通话开始,交换机设置占线忙,然后(用户)语音卡发出确认信号,建立通话
* 及demo中 dt_fwaoff()
******************************************************************************/
int dti_offhook(int cn);
/******************************************************************************
* Name: dti_read_ani(int cn)
* Function: 读主叫(ANI),建立通话
* aysin.cpp - mfc()
******************************************************************************/
int dti_read_ani(int cn);
/******************************************************************************
* Name: dti_play_tone(int cn)
* Function: Call setup complete.
* 呼叫建立完成
*
******************************************************************************/
int dti_play_tone(int cn);
int dti_hangup(int cn);
/*************************************************************************
* 函数 : init01(int chan)
* 描叙 : 初始化一个通道的数据结构以及硬件状态
* chan : 通道号 (1...MAXCHAN)
*
*************************************************************************/
bool init01(int chan);
/*************************************************************************
* FUNC: sys_event_dispatcher()
*
* 说明: 系统事件分发器
*
* 该函数监控所有语音卡通道,然后根据将事件转发到工作线程上。
*
************************************************************************/
UINT sys_event_dispatcher(LPVOID pParam);
/******************************************************************************
* 函数: put_event_to_board(int cn, int evt)
* cn: 通道号
* evt: 事件代号
* 往通道上写事件
******************************************************************************/
bool put_event_to_board(int cn, int evt);
/***************************************************************************
* 函数: int get_voc_descr(char * voc_index, int * fhandle, int * offset, int *length)
*
* Des : 获取VFIT中保存的语音文件描叙
* voc_index: 语音索引文件名
* fandle : 用于保存语音文件句柄的指针
* offset : 用于保存语音文件位置的指针
* length : 用于保存语音文件长度的指针
***************************************************************************/
int get_voc_descr(char * voc_index, int * fhandle, int * offset, int *length);
/***************************************************************************
* 函数: int play_voc(int cn, char * voc_index,bool key_break)
*
* Des : 在通道cn上播放语音 voc_index
* cn : 通道号
* voc : 语音索引名
***************************************************************************/
int play_voc(int cn, char * voc_index, bool key_break=true);
/*************************************************************************
* FUNC: time_trigger_func()
*
* 说明: 计时器线程,以秒计
*
*
************************************************************************/
UINT time_trigger_func(LPVOID pParam);
/*************************************************************************
* FUNC: start_time_trigger()
*
* 说明: 启动计时器线程
*
*
************************************************************************/
void start_time_trigger();
/*************************************************************************
* 函数: int set_singleinput_io(int cn, type_SGIPT_IO * io_param)
*
* 功能: 设置 singleinput thread 的切换参数表
* 参数:
* cn : 通道号
* io_param : 切换参数表
*
************************************************************************/
int set_singleinput_io(int cn, type_SGIPT_IO * io_param);
/*************************************************************************
* 函数: int adjust_singleinput_io(int cn)
*
* 功能: 修正 singleinput thread 的切换参数表
* 参数:
* cn : 通道号
*
*
************************************************************************/
int adjust_singleinput_io(int cn);
/*************************************************************************
* 函数: int switch_thread(int cn, TRHEAD next_thread, STATE next_state)
*
* 功能: 切换线程
* 参数:
* cn : 通道号
* next_thread : 下一线程
* next_state : 下一状态
*
************************************************************************/
int switch_thread(int cn, THREAD next_thread, STATE next_state);
/*************************************************************************
* FUNC: int post_read_command_to_board(int cn, int number=1)
*
* 说明: 启动读键命令
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -