Begin transition to interface with vgetty
This commit is contained in:
parent
e5f79de09a
commit
4acfc6f0b2
@ -3,7 +3,7 @@
|
|||||||
* (C)2005, Dan Ponte
|
* (C)2005, Dan Ponte
|
||||||
* BSDL w/ advert.
|
* BSDL w/ advert.
|
||||||
*/
|
*/
|
||||||
/* $Amigan: phoned/include/phoned.h,v 1.29 2005/06/28 02:32:52 dcp1990 Exp $ */
|
/* $Amigan: phoned/include/phoned.h,v 1.30 2010/02/13 19:02:57 dcp1990 Exp $ */
|
||||||
#include <pcre.h> /* fugly, I know... */
|
#include <pcre.h> /* fugly, I know... */
|
||||||
#define VERSION "0.1"
|
#define VERSION "0.1"
|
||||||
#define LOGFILE "-"
|
#define LOGFILE "-"
|
||||||
@ -18,6 +18,7 @@ struct conf {
|
|||||||
int loglevels;
|
int loglevels;
|
||||||
short modem_tm;
|
short modem_tm;
|
||||||
char* modemdev;
|
char* modemdev;
|
||||||
|
int modemhand;
|
||||||
char *dbfile;
|
char *dbfile;
|
||||||
};
|
};
|
||||||
#define LL_DEBUG 0x1
|
#define LL_DEBUG 0x1
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# cnd Makefile
|
# cnd Makefile
|
||||||
# (C)2005, Dan Ponte
|
# (C)2005, Dan Ponte
|
||||||
# $Amigan: phoned/phoned/Makefile,v 1.15 2008/08/07 19:17:23 dcp1990 Exp $
|
# $Amigan: phoned/phoned/Makefile,v 1.16 2010/02/13 19:03:04 dcp1990 Exp $
|
||||||
include ../global.mk
|
include ../global.mk
|
||||||
# basic stuff. we append for a reason.
|
# basic stuff. we append for a reason.
|
||||||
CPPFLAGS+=-I../include -DDEBUG -DYY_NO_UNPUT -DMODDEBUG
|
CPPFLAGS+=-I../include -DDEBUG -DYY_NO_UNPUT -DMODDEBUG -DMODEMSAID
|
||||||
CFLAGS+=-g -Wall -W -ansi ${CPPFLAGS} -pthread
|
CFLAGS+=-g -Wall -W -ansi ${CPPFLAGS} -pthread
|
||||||
LDFLAGS+=-lutil -lpcre -lsqlite3
|
LDFLAGS+=-lutil -lpcre -lsqlite3
|
||||||
# keep these up to date.
|
# keep these up to date.
|
||||||
|
@ -39,6 +39,9 @@ hangup yylval.number = CTACT_HUP; return ACTN;
|
|||||||
ignore yylval.number = CTACT_IGN; return ACTN;
|
ignore yylval.number = CTACT_IGN; return ACTN;
|
||||||
play yylval.number = CTACT_PLAY; return ACTN;
|
play yylval.number = CTACT_PLAY; return ACTN;
|
||||||
record yylval.number = CTACT_REC; return ACTN;
|
record yylval.number = CTACT_REC; return ACTN;
|
||||||
|
enabled yylval.number = 1; return ENA_DIS_STATE;
|
||||||
|
disabled yylval.number = 0; return ENA_DIS_STATE;
|
||||||
|
modemhandler return MODHAND;
|
||||||
modemdev return MODDEV;
|
modemdev return MODDEV;
|
||||||
\| return OR;
|
\| return OR;
|
||||||
\" return QUOTE;
|
\" return QUOTE;
|
||||||
|
@ -33,10 +33,10 @@ int yywrap(void)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
%}
|
%}
|
||||||
%token NOTIFY OBRACE CBRACE SCOLON QUOTE MODDEV MAIN LLEVEL OR
|
%token NOTIFY OBRACE CBRACE SCOLON QUOTE MODDEV MAIN LLEVEL OR MODHAND
|
||||||
%token FILTERS ACTION NAME PHNUM FILTER FLAGS DB SOCK
|
%token FILTERS ACTION NAME PHNUM FILTER FLAGS DB SOCK
|
||||||
/* HANGUP IGNOREIT PLAY RECORD */
|
/* HANGUP IGNOREIT PLAY RECORD */
|
||||||
%token <number> LNUML ACTN FLAG
|
%token <number> LNUML ACTN FLAG ENA_DIS_STATE
|
||||||
%token <string> IPADDR PATH REGEX FNAME
|
%token <string> IPADDR PATH REGEX FNAME
|
||||||
%%
|
%%
|
||||||
commands:
|
commands:
|
||||||
@ -68,6 +68,8 @@ directive:
|
|||||||
database
|
database
|
||||||
|
|
|
|
||||||
socket
|
socket
|
||||||
|
|
|
||||||
|
modhand
|
||||||
;
|
;
|
||||||
notify:
|
notify:
|
||||||
NOTIFY iplist
|
NOTIFY iplist
|
||||||
@ -113,6 +115,15 @@ dbpath:
|
|||||||
modemdev:
|
modemdev:
|
||||||
MODDEV devpath
|
MODDEV devpath
|
||||||
;
|
;
|
||||||
|
modhand:
|
||||||
|
MODHAND ENA_DIS_STATE
|
||||||
|
{
|
||||||
|
pthread_mutex_lock(&cfmx);
|
||||||
|
cf.modemhand = $2;
|
||||||
|
pthread_mutex_unlock(&cfmx);
|
||||||
|
lprintf(debug, "Modem handler %s\n", yylval.number ? "enabled" : "disabled");
|
||||||
|
}
|
||||||
|
;
|
||||||
devpath:
|
devpath:
|
||||||
QUOTE PATH QUOTE
|
QUOTE PATH QUOTE
|
||||||
{
|
{
|
||||||
|
@ -76,11 +76,13 @@ void initialize(void)
|
|||||||
exit(-1);
|
exit(-1);
|
||||||
} else whatdone |= WD_CONFIG; /* XXX: if you put anything before this, edit config.y's bitmask on shutd() */
|
} else whatdone |= WD_CONFIG; /* XXX: if you put anything before this, edit config.y's bitmask on shutd() */
|
||||||
pthread_mutex_lock(&cfmx);
|
pthread_mutex_lock(&cfmx);
|
||||||
if(init_modem(cf.modemdev) != 1) {
|
if(cf.modemhand) {
|
||||||
lprintf(fatal, "fatal error: modem didn't initialise properly; see previous messages\n");
|
if(init_modem(cf.modemdev) != 1) {
|
||||||
shutd(whatdone);
|
lprintf(fatal, "fatal error: modem didn't initialise properly; see previous messages\n");
|
||||||
exit(-1);
|
shutd(whatdone);
|
||||||
} else whatdone |= WD_MODEM;
|
exit(-1);
|
||||||
|
} else whatdone |= WD_MODEM;
|
||||||
|
}
|
||||||
if(!db_init(cf.dbfile)) {
|
if(!db_init(cf.dbfile)) {
|
||||||
lprintf(fatal, "fatal error: database did not open, see previous messages\n");
|
lprintf(fatal, "fatal error: database did not open, see previous messages\n");
|
||||||
shutd(whatdone);
|
shutd(whatdone);
|
||||||
|
@ -65,13 +65,18 @@ int main(argc, argv)
|
|||||||
}
|
}
|
||||||
cf.modem_tm = 0;
|
cf.modem_tm = 0;
|
||||||
cf.loglevels = LL_ALL;
|
cf.loglevels = LL_ALL;
|
||||||
|
cf.modemhand = 1;
|
||||||
pthread_mutex_unlock(&cfmx);
|
pthread_mutex_unlock(&cfmx);
|
||||||
initialize();
|
initialize();
|
||||||
lprintf(debug, "INIT IS 0x%x", PTHREAD_MUTEX_INITIALIZER);
|
lprintf(debug, "INIT IS 0x%x", PTHREAD_MUTEX_INITIALIZER);
|
||||||
pthread_create(&networkth, NULL, network, NULL);
|
pthread_create(&networkth, NULL, network, NULL);
|
||||||
lprintf(debug, "Started network with 0x%x.", networkth);
|
lprintf(debug, "Started network with 0x%x.", networkth);
|
||||||
pthread_create(&modemth, NULL, modem_io, NULL);
|
pthread_mutex_lock(&cfmx);
|
||||||
lprintf(debug, "Started modemth with 0x%x.", modemth);
|
if(cf.modemhand) {
|
||||||
|
pthread_create(&modemth, NULL, modem_io, NULL);
|
||||||
|
lprintf(debug, "Started modemth with 0x%x.", modemth);
|
||||||
|
}
|
||||||
|
pthread_mutex_unlock(&cfmx);
|
||||||
pthread_create(&mainth, NULL, mainthf, NULL);
|
pthread_create(&mainth, NULL, mainthf, NULL);
|
||||||
pthread_exit(NULL);
|
pthread_exit(NULL);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -69,6 +69,7 @@ int modempipes[2];
|
|||||||
extern pthread_mutex_t cfmx;
|
extern pthread_mutex_t cfmx;
|
||||||
modem_t* mo;
|
modem_t* mo;
|
||||||
extern modem_t rockwell;
|
extern modem_t rockwell;
|
||||||
|
extern modem_t agere;
|
||||||
void stmod(str)
|
void stmod(str)
|
||||||
const char* str;
|
const char* str;
|
||||||
{
|
{
|
||||||
@ -237,7 +238,7 @@ int init_modem(char* dev)
|
|||||||
return -3;
|
return -3;
|
||||||
}
|
}
|
||||||
fcntl(modemfd, F_SETFL, O_NONBLOCK);
|
fcntl(modemfd, F_SETFL, O_NONBLOCK);
|
||||||
mo = &rockwell;
|
mo = &agere;
|
||||||
mo->init();
|
mo->init();
|
||||||
/* voice_init(); */
|
/* voice_init(); */
|
||||||
pthread_mutex_unlock(&modemmx);
|
pthread_mutex_unlock(&modemmx);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# cnd Makefile
|
# cnd Makefile
|
||||||
# (C)2005, Dan Ponte
|
# (C)2005, Dan Ponte
|
||||||
# $Amigan: phoned/phoned/modems/Makefile,v 1.2 2005/06/18 20:26:14 dcp1990 Exp $
|
# $Amigan: phoned/phoned/modems/Makefile,v 1.3 2010/02/13 19:03:10 dcp1990 Exp $
|
||||||
include ../../global.mk
|
include ../../global.mk
|
||||||
# basic stuff. we append for a reason.
|
# basic stuff. we append for a reason.
|
||||||
CPPFLAGS+=-I../../include
|
CPPFLAGS+=-I../../include
|
||||||
@ -8,8 +8,8 @@ CFLAGS+=-g -Wall -W -ansi ${CPPFLAGS}
|
|||||||
LDFLAGS=
|
LDFLAGS=
|
||||||
# keep these up to date.
|
# keep these up to date.
|
||||||
MAINBIN=libmodems.a
|
MAINBIN=libmodems.a
|
||||||
SRCS=rockwell.c
|
SRCS=rockwell.c agere.c
|
||||||
OBJS=rockwell.o
|
OBJS=rockwell.o agere.o
|
||||||
all: .depend ${MAINBIN}
|
all: .depend ${MAINBIN}
|
||||||
# I know, I know, but it's good.
|
# I know, I know, but it's good.
|
||||||
.depend: ${SRCS} ${OHDRS}
|
.depend: ${SRCS} ${OHDRS}
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
main {
|
main {
|
||||||
modemdev "/dev/cuad0";
|
modemdev "/dev/cuau1";
|
||||||
loglevel all;
|
loglevel all;
|
||||||
database "./phoned.db";
|
database "./phoned.db";
|
||||||
socket "/tmp/phoned.sock";
|
socket "/tmp/phoned.sock";
|
||||||
|
modemhandler disabled;
|
||||||
};
|
};
|
||||||
filters {
|
filters {
|
||||||
filter test1 {
|
filter test1 {
|
||||||
|
Loading…
Reference in New Issue
Block a user