initial commit
[profile/ivi/xorg-x11-xinit.git] / privileged_startx / client.c
1 /* Copyright (c) 2008 Apple Inc.
2  *
3  * Permission is hereby granted, free of charge, to any person
4  * obtaining a copy of this software and associated documentation files
5  * (the "Software"), to deal in the Software without restriction,
6  * including without limitation the rights to use, copy, modify, merge,
7  * publish, distribute, sublicense, and/or sell copies of the Software,
8  * and to permit persons to whom the Software is furnished to do so,
9  * subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be
12  * included in all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17  * NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT
18  * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
19  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21  * DEALINGS IN THE SOFTWARE.
22  *
23  * Except as contained in this notice, the name(s) of the above
24  * copyright holders shall not be used in advertising or otherwise to
25  * promote the sale, use or other dealings in this Software without
26  * prior written authorization.
27  */
28
29 #include <mach/mach.h>
30 #include <mach/mach_error.h>
31 #include <servers/bootstrap.h>
32 #include <unistd.h>
33 #include <stdio.h>
34 #include <stdlib.h>
35 #include <stdbool.h>
36
37 #include "privileged_startx.h"
38
39 int client_main(void) {
40     kern_return_t kr;
41     mach_port_t mp;
42     
43     kr = bootstrap_look_up(bootstrap_port, BOOTSTRAP_NAME, &mp);
44     if (kr != KERN_SUCCESS) {
45         fprintf(stderr, "bootstrap_look_up(): %s\n", bootstrap_strerror(kr));
46         exit(EXIT_FAILURE);
47     }
48     
49     kr = privileged_startx(mp);
50     if (kr != KERN_SUCCESS) {
51         fprintf(stderr, "privileged_startx client: %s\n", mach_error_string(kr));
52         exit(EXIT_FAILURE);
53     }
54     
55     exit(EXIT_SUCCESS);
56 }