diff options
author | Dan Williams <dcbw@redhat.com> | 2010-03-18 17:13:59 -0700 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2010-03-18 17:13:59 -0700 |
commit | 4dd9b291354e76f34b0d6d7b5c3b28d03a624418 (patch) | |
tree | 384804ef320f8344b1a97aa1cdbc81b5d46d0b63 /extras/mobile-action-modeswitch/utils.c | |
parent | 38a3cde11bc77af49a96245b8a8a0f2b583a344c (diff) |
modeswitch: morph into tool that only switches Mobile Action cables
Remove option modeswitching code; use usb_modeswitch already, people.
Diffstat (limited to 'extras/mobile-action-modeswitch/utils.c')
-rw-r--r-- | extras/mobile-action-modeswitch/utils.c | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/extras/mobile-action-modeswitch/utils.c b/extras/mobile-action-modeswitch/utils.c new file mode 100644 index 0000000000..37d0df4d65 --- /dev/null +++ b/extras/mobile-action-modeswitch/utils.c @@ -0,0 +1,83 @@ +/* + * Modem mode switcher + * + * Copyright (C) 2009 Dan Williams <dcbw@redhat.com> + * + * 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: + */ + +#include <stdarg.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include <time.h> + +#include "utils.h" + +static int debug_on = 0; +static int quiet = 0; +FILE *logfile = NULL; + +void +do_log (int level, const char *fmt, ...) +{ + va_list args; + char buffer[1024]; + char tag = 'L'; + + if (level >= LOG_DBG && !debug_on) + return; + + va_start (args, fmt); + vsnprintf (buffer, sizeof (buffer), fmt, args); + va_end (args); + + if (level == LOG_ERR) + tag = 'E'; + else if (level == LOG_MSG) + tag = 'L'; + else if (level == LOG_DBG) + tag = 'D'; + + if (logfile) + fprintf (logfile, "%c: %s\n", tag, buffer); + if (!quiet) + fprintf ((level == LOG_ERR) ? stderr : stdout, "%c: %s\n", tag, buffer); +} + +int +log_startup (const char *path, int do_debug, int be_quiet) +{ + time_t t; + + quiet = be_quiet; + debug_on = do_debug; + + if (!path) + return 0; + + logfile = fopen (path, "a+"); + if (!logfile) + return 1; + + t = time (NULL); + message ("\n**** Started: %s\n", ctime (&t)); + return 0; +} + +void +log_shutdown (void) +{ + if (logfile) + fclose (logfile); +} + |