00001 // Copyright (c) 2010-2016 The YP-Spur Authors, except where otherwise indicated. 00002 // 00003 // Permission is hereby granted, free of charge, to any person obtaining a copy 00004 // of this software and associated documentation files (the "Software"), to 00005 // deal in the Software without restriction, including without limitation the 00006 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 00007 // sell copies of the Software, and to permit persons to whom the Software is 00008 // furnished to do so, subject to the following conditions: 00009 // 00010 // The above copyright notice and this permission notice shall be included in 00011 // all copies or substantial portions of the Software. 00012 // 00013 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00014 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00015 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 00016 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 00017 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 00018 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 00019 // SOFTWARE. 00020 00021 #include <stdio.h> 00022 #include <stdlib.h> 00023 #include <string.h> 00024 #include <unistd.h> 00025 00026 #ifdef HAVE_CONFIG_H 00027 #include <config.h> 00028 #endif // HAVE_CONFIG_H 00029 00030 #include <ypspur.h> 00031 #include <utility.h> 00032 00033 int main(int argc, char **argv) 00034 { 00035 hook_pre_global(); 00036 if (argc > 1) 00037 { 00038 char ip[64]; 00039 char *p; 00040 int port; 00041 00042 strncpy(ip, argv[1], 64); 00043 p = strchr(ip, ':'); 00044 if (p == NULL) 00045 { 00046 fprintf(stderr, "USAGE: %s ip:port\n", argv[0]); 00047 return -1; 00048 } 00049 *p = 0; 00050 port = atoi(p + 1); 00051 Spur_init_socket(ip, port); 00052 } 00053 else 00054 { 00055 if (Spur_init() < 0) 00056 { 00057 fprintf(stderr, "ERROR: ypspur-coordinator stopped.\n"); 00058 return -1; 00059 } 00060 } 00061 00062 Spur_free(); 00063 00064 return 0; 00065 }