diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2016-03-01 18:40:38 +0100 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2016-03-13 09:12:11 +0100 |
commit | 946c9ce10a92a29584d2e68e9c04fe63dcee7bdc (patch) | |
tree | f400ab2212900957e358ef236f07307492ecf2d9 /src/common/cause.c |
initial git import
Diffstat (limited to 'src/common/cause.c')
-rw-r--r-- | src/common/cause.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/common/cause.c b/src/common/cause.c new file mode 100644 index 0000000..3dc6b1c --- /dev/null +++ b/src/common/cause.c @@ -0,0 +1,48 @@ +/* Clear cause names + * + * (C) 2016 by Andreas Eversberg <jolly@eversberg.eu> + * 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 3 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, see <http://www.gnu.org/licenses/>. + */ + +#include <stdio.h> +#include "cause.h" + +const char *cause_name(int cause) +{ + static char cause_str[16]; + + switch (cause) { + case CAUSE_NORMAL: + return "hangup"; + case CAUSE_BUSY: + return "busy"; + case CAUSE_NOANSWER: + return "no-answer"; + case CAUSE_OUTOFORDER: + return "out-of-order"; + case CAUSE_INVALNUMBER: + return "invalid-number"; + case CAUSE_NOCHANNEL: + return "no-channel"; + case CAUSE_TEMPFAIL: + return "link-failure"; + default: + sprintf(cause_str, "cause=%d\n", cause); + return cause_str; + } + +} + |