From 57a91e52d4ec8ace01206ecb78d597a8be2561fb Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Fri, 13 Jan 2012 05:13:30 +0100 Subject: [PATCH] Adding shutdown option to interface.conf This way an interface can be disabled by just one keyword and not by uncommenting all lines of it. --- interface.c | 16 +++++++++++++++- interface.h | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/interface.c b/interface.c index ee753a9..cbfed2e 100644 --- a/interface.c +++ b/interface.c @@ -1070,6 +1070,13 @@ static int inter_remote(struct interface *interface, char *filename, int line, c return(0); } +static int inter_shutdown(struct interface *interface, char *filename, int line, char *parameter, char *value) +{ + interface->shutdown = 1; + + return(0); +} + /* * structure of parameters @@ -1234,6 +1241,9 @@ struct interface_param interface_param[] = { "Sets up an interface that communicates with the remote application.\n" "Use \"asterisk\" to use chan_lcr as remote application."}, + {"shutdown", &inter_shutdown, "", + "Interface will not be loaded when processing interface.conf"}, + {NULL, NULL, NULL, NULL} }; @@ -1545,7 +1555,11 @@ void relink_interfaces(void) ifport = interface->ifport; while(ifport) { if (!ifport->mISDNport) { - load_port(ifport); + if (!interface->shutdown) { + load_port(ifport); + } else { + ifport->block = 2; + } } ifport = ifport->next; } diff --git a/interface.h b/interface.h index f271080..2dd9889 100644 --- a/interface.h +++ b/interface.h @@ -100,6 +100,7 @@ struct interface { int extension; /* calls are handled as extension */ int is_tones; /* generate tones */ int is_earlyb; /* bridge tones during call setup */ + int shutdown; /* interface will not automatically be loaded */ int hunt; /* select algorithm */ int hunt_next; /* ifport index to start hunt */ struct interface_port *ifport; /* link to interface port list */ -- 2.13.6