00001 /* 00002 * SpanDSP - a series of DSP components for telephony 00003 * 00004 * fax_modems.h - definitions for the analogue modem set for fax processing 00005 * 00006 * Written by Steve Underwood <steveu@coppice.org> 00007 * 00008 * Copyright (C) 2008 Steve Underwood 00009 * 00010 * All rights reserved. 00011 * 00012 * This program is free software; you can redistribute it and/or modify 00013 * it under the terms of the GNU Lesser General Public License version 2.1, 00014 * as published by the Free Software Foundation. 00015 * 00016 * This program is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 * GNU Lesser General Public License for more details. 00020 * 00021 * You should have received a copy of the GNU Lesser General Public 00022 * License along with this program; if not, write to the Free Software 00023 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00024 * 00025 * $Id: fax_modems.h,v 1.6 2008/10/13 13:14:00 steveu Exp $ 00026 */ 00027 00028 /*! \file */ 00029 00030 #if !defined(_SPANDSP_FAX_MODEMS_H_) 00031 #define _SPANDSP_FAX_MODEMS_H_ 00032 00033 /*! 00034 The set of modems needed for FAX, plus the auxilliary stuff, like tone generation. 00035 */ 00036 typedef struct fax_modems_state_s fax_modems_state_t; 00037 00038 #if defined(__cplusplus) 00039 extern "C" 00040 { 00041 #endif 00042 00043 /* N.B. the following are currently a work in progress */ 00044 int fax_modems_v17_v21_rx(void *user_data, const int16_t amp[], int len); 00045 int fax_modems_v27ter_v21_rx(void *user_data, const int16_t amp[], int len); 00046 int fax_modems_v29_v21_rx(void *user_data, const int16_t amp[], int len); 00047 fax_modems_state_t *fax_modems_init(fax_modems_state_t *s, void *user_data); 00048 00049 #if defined(__cplusplus) 00050 } 00051 #endif 00052 00053 #endif 00054 /*- End of file ------------------------------------------------------------*/