Line | |
---|
1 | //
|
---|
2 | // wakein.m
|
---|
3 | // Pester
|
---|
4 | //
|
---|
5 | // Created by Nicholas Riley on Tue Mar 11 2003.
|
---|
6 | // Copyright (c) 2003 Nicholas Riley. All rights reserved.
|
---|
7 | //
|
---|
8 |
|
---|
9 | #import <Cocoa/Cocoa.h>
|
---|
10 | #import "wakein.h"
|
---|
11 | #import "unistd.h"
|
---|
12 | #import "PSPowerManager.h"
|
---|
13 |
|
---|
14 | void usage() {
|
---|
15 | fprintf(stderr, "usage: wakein secs\n");
|
---|
16 | exit(PSWakeErrorSyntax);
|
---|
17 | }
|
---|
18 |
|
---|
19 | int main(int argc, const char *argv[])
|
---|
20 | {
|
---|
21 | [[NSAutoreleasePool alloc] init];
|
---|
22 |
|
---|
23 | if (argc != 2) usage();
|
---|
24 |
|
---|
25 | long long secs;
|
---|
26 | if (![[NSScanner scannerWithString: [NSString stringWithUTF8String: argv[1]]] scanLongLong: &secs])
|
---|
27 | usage();
|
---|
28 |
|
---|
29 | if (secs < 0 || secs > ULONG_MAX)
|
---|
30 | usage();
|
---|
31 |
|
---|
32 | if (geteuid() != 0) {
|
---|
33 | fprintf(stderr, "wakein: must be root\n");
|
---|
34 | return PSWakeErrorPermissions;
|
---|
35 | }
|
---|
36 |
|
---|
37 | NS_DURING
|
---|
38 | [PSPowerManager setWakeInterval: secs];
|
---|
39 | NS_HANDLER
|
---|
40 | fprintf(stderr, "%s\n", [[localException description] UTF8String]);
|
---|
41 | return PSWakeErrorException;
|
---|
42 | NS_ENDHANDLER
|
---|
43 |
|
---|
44 | return 0;
|
---|
45 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.