diff options
author | John Crispin <blogic@openwrt.org> | 2010-11-03 19:12:34 +0000 |
---|---|---|
committer | John Crispin <blogic@openwrt.org> | 2010-11-03 19:12:34 +0000 |
commit | b27571141a7270c79f4e8bde7212797cd2fa8f22 (patch) | |
tree | 1b900bd32ce90c62703905c460db950c7c2ba9ec /package/tapi_sip/src/tapi_agent.h | |
parent | 5f37a84ad559c0c8101cea2c2d86e4aab0a35404 (diff) | |
download | master-187ad058-b27571141a7270c79f4e8bde7212797cd2fa8f22.tar.gz master-187ad058-b27571141a7270c79f4e8bde7212797cd2fa8f22.tar.bz2 master-187ad058-b27571141a7270c79f4e8bde7212797cd2fa8f22.zip |
[ifxmips]
* adds a rewrite of the tapi drivers + sip app. this is the result of lars' gsoc 2010 project, Thanks !
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23840 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/tapi_sip/src/tapi_agent.h')
-rw-r--r-- | package/tapi_sip/src/tapi_agent.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/package/tapi_sip/src/tapi_agent.h b/package/tapi_sip/src/tapi_agent.h new file mode 100644 index 0000000000..12e8701215 --- /dev/null +++ b/package/tapi_sip/src/tapi_agent.h @@ -0,0 +1,37 @@ +#ifndef __TAPI_AGENT_H__ +#define __TAPI_AGENT_H__ + +#include "agent.h" +#include <tapi-port.h> + +struct session; + +enum tapi_agent_state { + TAPI_AGENT_STATE_IDLE, + TAPI_AGENT_STATE_RINGING, + TAPI_AGENT_STATE_ACTIVE, +}; + +struct tapi_agent { + struct agent agent; + struct tapi_port port; + struct tapi_port_event_listener event_listener; + + enum tapi_agent_state state; + + struct session *session; +}; + +static inline struct tapi_agent *agent_to_tapi_agent(struct agent *agent) +{ + return container_of(agent, struct tapi_agent, agent); +} + +static inline struct tapi_agent *port_to_tapi_agent(struct tapi_port *port) +{ + return container_of(port, struct tapi_agent, port); +} + +void tapi_agent_init(struct tapi_device *tdev, int port, struct tapi_agent *tagent); + +#endif |