/*
 * Copyright (C) 2005-2006 Digium, Inc.
 *
 * Mark Spencer <markster@digium.com>
 *
 * All Rights Reserved
 */

#ifndef _VPM450M_H
#define _VPM450M_H


struct vpm450m;
#ifdef HOTPLUG_FIRMWARE
struct firmware;
#endif

/* From driver */
extern unsigned int oct_get_reg(void *data, unsigned int reg);
extern void oct_set_reg(void *data, unsigned int reg, unsigned int val);

/* From vpm450m2 */
#ifdef HOTPLUG_FIRMWARE
extern struct vpm450m *init_vpm450m(void *wc, int *isalaw, int numspans, const struct firmware *firmware);
#else
extern struct vpm450m *init_vpm450m(void *wc, int *isalaw, int numspans);
#endif
extern void vpm450m_setec(struct vpm450m *instance, int channel, int eclen);
extern void vpm450m_setdtmf(struct vpm450m *instance, int channel, int dtmfdetect, int dtmfmute);
extern int vpm450m_checkirq(struct vpm450m *vpm450m);
extern int vpm450m_getdtmf(struct vpm450m *vpm450m, int *channel, int *tone, int *start);
extern void release_vpm450m(struct vpm450m *instance);
#endif
