|
|
1.1 root 1: /******************************************************************************
2: * Copyright (c) 2004, 2011 IBM Corporation
3: * All rights reserved.
4: * This program and the accompanying materials
5: * are made available under the terms of the BSD License
6: * which accompanies this distribution, and is available at
7: * http://www.opensource.org/licenses/bsd-license.php
8: *
9: * Contributors:
10: * IBM Corporation - initial implementation
11: *****************************************************************************/
12:
13: #include <string.h>
14: #include <stdio.h>
15: #include <of.h>
16: #include <netapps/netapps.h>
17: #include <libbootmsg.h>
18:
19: #ifdef SNK_BIOSEMU_APPS
20: extern int biosemu(char argc, char**argv);
21: extern int vbe_get_info(char argc, char**argv);
22: #endif
23:
24: extern void _callback_entry(void);
25:
26:
27: int
28: main(int argc, char *argv[])
29: {
30: int i;
31: of_set_callback((void *) &_callback_entry);
32:
33: if (strcmp(argv[0], "netboot") == 0 && argc >= 5)
34: return netboot(argc, argv);
35: if (strcmp(argv[0], "netflash") == 0)
36: return netflash(argc, argv);
37: if (strcmp(argv[0], "ping") == 0)
38: return ping(argc, argv);
39: #ifdef SNK_BIOSEMU_APPS
40: // BIOS Emulator applications
41: if (strcmp(argv[0], "biosemu") == 0)
42: return biosemu(argc, argv);
43: if (strcmp(argv[0], "get_vbe_info") == 0)
44: return vbe_get_info(argc, argv);
45: #endif
46:
47: printf("Unknown client application called\n");
48: for (i = 0; i < argc; i++)
49: printf("argv[%d] %s\n", i, argv[i]);
50:
51: return -1;
52: }
53:
54: int
55: callback(int argc, char *argv[])
56: {
57: int i;
58:
59: printf("\n");
60:
61: /*
62: * Register your application's callback handler here, similar to
63: * the way you would register an application.
64: * Please note that callback functions can be called safely only after
65: * your application has called of_yield(). If you return or exit() from
66: * your client application, the callback can no longer be used.
67: */
68: #if 0
69: if (strcmp(argv[0], "example") == 0)
70: return example(argc, argv);
71: #endif
72:
73: printf("No such callback function\n");
74: for (i = 0; i < argc; i++)
75: printf("argv[%d] %s\n", i, argv[i]);
76:
77: return (-1);
78: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.