Changes in uspace/app/dnscfg/dnscfg.c [a2e3ee6:5d1cb8a] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/dnscfg/dnscfg.c
ra2e3ee6 r5d1cb8a 49 49 static void print_syntax(void) 50 50 { 51 printf("Syntax:\n"); 52 printf("\t%s get-ns\n", NAME); 53 printf("\t%s set-ns <server-addr>\n", NAME); 54 printf("\t%s unset-ns\n", NAME); 51 printf("syntax:\n"); 52 printf("\t" NAME " set-ns <server-addr>\n"); 53 printf("\t" NAME " unset-ns\n"); 55 54 } 56 55 57 56 static int dnscfg_set_ns(int argc, char *argv[]) 58 57 { 58 char *srv_addr; 59 inet_addr_t addr; 60 int rc; 61 59 62 if (argc < 1) { 60 printf( "%s: Missing arguments.\n", NAME);63 printf(NAME ": Missing arguments.\n"); 61 64 print_syntax(); 62 65 return EINVAL; 63 66 } 64 67 65 68 if (argc > 1) { 66 printf( "%s: Too many arguments.\n", NAME);69 printf(NAME ": Too many arguments.\n"); 67 70 print_syntax(); 68 71 return EINVAL; 69 72 } 70 71 char *srv_addr = argv[0]; 72 73 inet_addr_t addr; 74 int rc = inet_addr_parse(srv_addr, &addr); 75 73 74 srv_addr = argv[0]; 75 76 rc = inet_addr_parse(srv_addr, &addr); 76 77 if (rc != EOK) { 77 printf( "%s: Invalid address format '%s'.\n", NAME, srv_addr);78 return rc;78 printf(NAME ": Invalid address format '%s'.\n", srv_addr); 79 return EINVAL; 79 80 } 80 81 81 82 rc = dnsr_set_srvaddr(&addr); 82 83 if (rc != EOK) { 83 printf( "%s: Failed setting nameserver address '%s' (%s)\n",84 NAME,srv_addr, str_error(rc));85 return rc;84 printf(NAME ": Failed setting server address '%s' (%s)\n", 85 srv_addr, str_error(rc)); 86 return EIO; 86 87 } 87 88 88 89 return EOK; 89 90 } 90 91 91 static int dnscfg_unset_ns( void)92 static int dnscfg_unset_ns(int argc, char *argv[]) 92 93 { 93 94 inet_addr_t addr; 94 inet_addr_any(&addr); 95 96 int rc = dnsr_set_srvaddr(&addr); 95 int rc; 96 97 if (argc > 0) { 98 printf(NAME ": Too many arguments.\n"); 99 print_syntax(); 100 return EINVAL; 101 } 102 103 addr.ipv4 = 0; 104 rc = dnsr_set_srvaddr(&addr); 97 105 if (rc != EOK) { 98 printf( "%s: Failed unsetting server address (%s)\n",99 NAME,str_error(rc));100 return rc;106 printf(NAME ": Failed unsetting server address (%s)\n", 107 str_error(rc)); 108 return EIO; 101 109 } 102 110 103 111 return EOK; 104 112 } … … 107 115 { 108 116 inet_addr_t addr; 109 int rc = dnsr_get_srvaddr(&addr); 117 char *addr_str; 118 int rc; 119 120 rc = dnsr_get_srvaddr(&addr); 110 121 if (rc != EOK) { 111 printf( "%s: Failed getting DNS server address.\n", NAME);122 printf(NAME ": Failed getting DNS server address.\n"); 112 123 return rc; 113 124 } 114 115 char *addr_str; 125 116 126 rc = inet_addr_format(&addr, &addr_str); 117 127 if (rc != EOK) { 118 printf( "%s: Out of memory.\n", NAME);128 printf(NAME ": Out of memory.\n"); 119 129 return rc; 120 130 } 121 122 printf(" Nameserver: %s\n", addr_str);131 132 printf("Server: %s\n", addr_str); 123 133 free(addr_str); 124 134 return EOK; … … 127 137 int main(int argc, char *argv[]) 128 138 { 129 if ((argc < 2) || (str_cmp(argv[1], "get-ns") == 0)) 130 return dnscfg_print(); 131 else if (str_cmp(argv[1], "set-ns") == 0) 132 return dnscfg_set_ns(argc - 2, argv + 2); 133 else if (str_cmp(argv[1], "unset-ns") == 0) 134 return dnscfg_unset_ns(); 135 else { 136 printf("%s: Unknown command '%s'.\n", NAME, argv[1]); 139 int rc; 140 141 if (argc < 2) { 142 rc = dnscfg_print(); 143 if (rc != EOK) 144 return 1; 145 return 0; 146 } 147 148 if (str_cmp(argv[1], "set-ns") == 0) { 149 rc = dnscfg_set_ns(argc - 2, argv + 2); 150 if (rc != EOK) 151 return 1; 152 } else if (str_cmp(argv[1], "unset-ns") == 0) { 153 rc = dnscfg_unset_ns(argc - 2, argv + 2); 154 if (rc != EOK) 155 return 1; 156 } else { 157 printf(NAME ": Unknown command '%s'.\n", argv[1]); 137 158 print_syntax(); 138 159 return 1; 139 160 } 140 161 162 141 163 return 0; 142 164 }
Note:
See TracChangeset
for help on using the changeset viewer.