diff options
author | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2006-07-08 00:43:31 +0000 |
---|---|---|
committer | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2006-07-08 00:43:31 +0000 |
commit | ec6b220aa7a334ccbd0fcb41d35c66560fc78a11 (patch) | |
tree | 8ee3f2338f95b3fa67f8512adb8fe4842643c391 /xpp/xpp_zap.h | |
parent | 4e4b79bf56f6477b65973c869e5a8936aea27864 (diff) |
xpp Release 1.1.0 :
* FPGA firmware now loaded from PC (for newer models)
* Driver for the FXO module (xpd_fxo.ko)
* Moved most userspace files to the subdirectory utils (see also next commit)
* Explicit license for firmware files
* Optionally avoid auto-registration
* Registers initializations code is done by a userspace script.
* Remove obsolete .inc initialization files (we use user-space init)
* Added an install target to the utils dir.
* Updated README.Astribank accordingly.
* Using RBS signalling, as caller ID did not work well otherwise.
* Better handling of USB protocol errors.
* Fixed some procfs-related races.
* per-card-module ioctls.
* fxotune support.
* opermode support (set through /etc/default/zaptel for now)
* Userspace initialization script can also read registers.
* Power calibration works (and implemented in perl)
* some fine-tuning to the regster initialization parameters.
* Leds turn on before registration and turn off after it.
git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.2@1212 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'xpp/xpp_zap.h')
-rw-r--r-- | xpp/xpp_zap.h | 60 |
1 files changed, 28 insertions, 32 deletions
diff --git a/xpp/xpp_zap.h b/xpp/xpp_zap.h index 068f648..4d884ad 100644 --- a/xpp/xpp_zap.h +++ b/xpp/xpp_zap.h @@ -1,58 +1,54 @@ #ifndef XPP_ZAP_H #define XPP_ZAP_H +/* + * Written by Oron Peled <oron@actcom.co.il> + * Copyright (C) 2004-2006, Xorcom + * + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ #include <linux/workqueue.h> #include "xpd.h" #include "xproto.h" -xpacket_t *xpacket_new(xbus_t *xbus, int flags); -void xpacket_free(xbus_t *xbus, xpacket_t *p); - -/* packet queues */ -void init_xbus_packet_queue(packet_queue_t *q, const char name[]); -void drain_xbus_packet_queue(xbus_t *xbus, packet_queue_t *q); -void xbus_enqueue_packet(xbus_t *xbus, packet_queue_t *q, xpacket_t *pack); -xpacket_t *xbus_dequeue_packet(packet_queue_t *q); - -xbus_t *xbus_new(ulong loopback_xpds); -void xbus_activate(xbus_t *xbus); -void xbus_deactivate(xbus_t *xbus); - -void xbus_reset_counters(xbus_t *xbus); +void xpd_disconnect(xpd_t *xpd); int packet_send(xbus_t *xbus, xpacket_t *pack_tx); -void phone_hook(xpd_t *xpd, int channo, bool offhook); -void xpp_check_hookstate(xpd_t *xpd, xpp_line_t fxs_off_hook); -xpd_t *xpd_of(xbus_t *xbus, int xpd_num); -void card_detected(void *data); +void card_detected(struct card_desc_struct *card_desc); xpd_t *xpd_alloc(size_t privsize, xbus_t *xbus, int xpd_num, const xproto_table_t *proto_table, int channels, byte revision); void xpd_remove(xpd_t *xpd); +void update_xpd_status(xpd_t *xpd, int alarm_flag); +void update_line_status(xpd_t *xpd, int pos, bool good); void fill_beep(u_char *buf, int duration); void xpp_tick(unsigned long param); int xpp_open(struct zt_chan *chan); int xpp_close(struct zt_chan *chan); int xpp_ioctl(struct zt_chan *chan, unsigned int cmd, unsigned long arg); int xpp_maint(struct zt_span *span, int cmd); +void sync_master_is(xpd_t *xpd); -#define CARD_DESC_MAGIC 0xca9dde5c - -struct card_desc_struct { - struct work_struct work; - u32 magic; - xbus_t *xbus; - byte rev; /* Revision number */ - byte type; /* LSB: 1 - to_phone, 0 - to_line */ - byte xpd_num; -}; extern struct workqueue_struct *xpp_worker; #ifdef CONFIG_PROC_FS #include <linux/proc_fs.h> -extern struct proc_dir_entry *xpp_procdir; +extern struct proc_dir_entry *xpp_proc_toplevel; #endif -extern xpd_t *sync_master; -// Number of rings our simulated phone will ring: -#define RINGS_NUM 3 +#define SPAN_REGISTERED(xpd) ((xpd)->span.flags & ZT_FLAG_REGISTERED) #endif /* XPP_ZAP_H */ |