1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
Index: gsm/src/gsmd/gsmd.c
===================================================================
--- gsm.orig/src/gsmd/gsmd.c 2007-06-03 11:57:43.000000000 +0200
+++ gsm/src/gsmd/gsmd.c 2007-06-03 11:57:45.000000000 +0200
@@ -311,6 +311,7 @@
{ "leak-report", 0, NULL, 'L' },
{ "vendor", 1, NULL, 'v' },
{ "machine", 1, NULL, 'm' },
+ { "wait", 1, NULL, 'w' },
{ 0, 0, 0, 0 }
};
@@ -333,6 +334,7 @@
"\t-l file\t--logfile file\tSpecify a logfile to log to\n"
"\t-v\t--vendor v\tSpecify GSM modem vendor plugin\n"
"\t-m\t--machine m\tSpecify GSM modem machine plugin\n"
+ "\t-w\t--wait m\tWait for the AT Interpreter Ready message\n"
);
}
@@ -362,6 +364,7 @@
char *logfile = "syslog";
char *vendor_name = NULL;
char *machine_name = NULL;
+ int wait = -1;
signal(SIGTERM, sig_handler);
signal(SIGINT, sig_handler);
@@ -374,7 +377,7 @@
print_header();
/*FIXME: parse commandline, set daemonize, device, ... */
- while ((argch = getopt_long(argc, argv, "FVLdhp:s:l:v:m:", opts, NULL)) != -1) {
+ while ((argch = getopt_long(argc, argv, "FVLdhp:s:l:v:m:w:", opts, NULL)) != -1) {
switch (argch) {
case 'V':
/* FIXME */
@@ -411,6 +414,9 @@
case 'm':
machine_name = optarg;
break;
+ case 'w':
+ wait = atoi(optarg);
+ break;
}
}
@@ -455,6 +461,9 @@
exit(1);
}
+ if (wait >= 0)
+ g.interpreter_ready = !wait;
+
if (atcmd_init(&g, fd) < 0) {
fprintf(stderr, "can't initialize UART device\n");
exit(1);
|