Changeset 740 for vendor/current/lib/smbconf/smbconf.c
- Timestamp:
- Nov 14, 2012, 12:59:34 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
vendor/current/lib/smbconf/smbconf.c
r414 r740 28 28 **********************************************************************/ 29 29 30 static WERRORsmbconf_global_check(struct smbconf_ctx *ctx)30 static sbcErr smbconf_global_check(struct smbconf_ctx *ctx) 31 31 { 32 32 if (!smbconf_share_exists(ctx, GLOBAL_NAME)) { 33 33 return smbconf_create_share(ctx, GLOBAL_NAME); 34 34 } 35 return WERR_OK; 35 36 return SBC_ERR_OK; 36 37 } 37 38 … … 42 43 * 43 44 **********************************************************************/ 45 46 const char *sbcErrorString(sbcErr error) 47 { 48 switch (error) { 49 case SBC_ERR_OK: 50 return "SBC_ERR_OK"; 51 case SBC_ERR_NOT_IMPLEMENTED: 52 return "SBC_ERR_NOT_IMPLEMENTED"; 53 case SBC_ERR_NOT_SUPPORTED: 54 return "SBC_ERR_NOT_SUPPORTED"; 55 case SBC_ERR_UNKNOWN_FAILURE: 56 return "SBC_ERR_UNKNOWN_FAILURE"; 57 case SBC_ERR_NOMEM: 58 return "SBC_ERR_NOMEM"; 59 case SBC_ERR_INVALID_PARAM: 60 return "SBC_ERR_INVALID_PARAM"; 61 case SBC_ERR_BADFILE: 62 return "SBC_ERR_BADFILE"; 63 case SBC_ERR_NO_SUCH_SERVICE: 64 return "SBC_ERR_NO_SUCH_SERVICE"; 65 case SBC_ERR_IO_FAILURE: 66 return "SBC_ERR_IO_FAILURE"; 67 case SBC_ERR_CAN_NOT_COMPLETE: 68 return "SBC_ERR_CAN_NOT_COMPLETE"; 69 case SBC_ERR_NO_MORE_ITEMS: 70 return "SBC_ERR_NO_MORE_ITEMS"; 71 case SBC_ERR_FILE_EXISTS: 72 return "SBC_ERR_FILE_EXISTS"; 73 case SBC_ERR_ACCESS_DENIED: 74 return "SBC_ERR_ACCESS_DENIED"; 75 } 76 77 return "unknown sbcErr value"; 78 } 79 44 80 45 81 /** … … 92 128 * Drop the whole configuration (restarting empty). 93 129 */ 94 WERRORsmbconf_drop(struct smbconf_ctx *ctx)130 sbcErr smbconf_drop(struct smbconf_ctx *ctx) 95 131 { 96 132 return ctx->ops->drop(ctx); … … 106 142 * param_values : list of lists of parameter values for each share 107 143 */ 108 WERRORsmbconf_get_config(struct smbconf_ctx *ctx,144 sbcErr smbconf_get_config(struct smbconf_ctx *ctx, 109 145 TALLOC_CTX *mem_ctx, 110 146 uint32_t *num_shares, 111 147 struct smbconf_service ***services) 112 148 { 113 WERROR werr = WERR_OK;149 sbcErr err; 114 150 TALLOC_CTX *tmp_ctx = NULL; 115 151 uint32_t tmp_num_shares; … … 119 155 120 156 if ((num_shares == NULL) || (services == NULL)) { 121 werr = WERR_INVALID_PARAM;157 err = SBC_ERR_INVALID_PARAM; 122 158 goto done; 123 159 } … … 125 161 tmp_ctx = talloc_stackframe(); 126 162 127 werr = smbconf_get_share_names(ctx, tmp_ctx, &tmp_num_shares,128 129 if (! W_ERROR_IS_OK(werr)) {163 err = smbconf_get_share_names(ctx, tmp_ctx, &tmp_num_shares, 164 &tmp_share_names); 165 if (!SBC_ERROR_IS_OK(err)) { 130 166 goto done; 131 167 } … … 133 169 tmp_services = talloc_array(tmp_ctx, struct smbconf_service *, 134 170 tmp_num_shares); 135 136 171 if (tmp_services == NULL) { 137 werr = WERR_NOMEM;172 err = SBC_ERR_NOMEM; 138 173 goto done; 139 174 } 140 175 141 176 for (count = 0; count < tmp_num_shares; count++) { 142 werr = smbconf_get_share(ctx, tmp_services,143 144 145 if (! W_ERROR_IS_OK(werr)) {177 err = smbconf_get_share(ctx, tmp_services, 178 tmp_share_names[count], 179 &tmp_services[count]); 180 if (!SBC_ERROR_IS_OK(err)) { 146 181 goto done; 147 182 } 148 183 } 149 184 150 werr = WERR_OK;185 err = SBC_ERR_OK; 151 186 152 187 *num_shares = tmp_num_shares; … … 159 194 done: 160 195 talloc_free(tmp_ctx); 161 return werr;196 return err; 162 197 } 163 198 … … 165 200 * get the list of share names defined in the configuration. 166 201 */ 167 WERRORsmbconf_get_share_names(struct smbconf_ctx *ctx,202 sbcErr smbconf_get_share_names(struct smbconf_ctx *ctx, 168 203 TALLOC_CTX *mem_ctx, 169 204 uint32_t *num_shares, … … 186 221 * Add a service if it does not already exist. 187 222 */ 188 WERRORsmbconf_create_share(struct smbconf_ctx *ctx,223 sbcErr smbconf_create_share(struct smbconf_ctx *ctx, 189 224 const char *servicename) 190 225 { 191 226 if ((servicename != NULL) && smbconf_share_exists(ctx, servicename)) { 192 return WERR_FILE_EXISTS;227 return SBC_ERR_FILE_EXISTS; 193 228 } 194 229 … … 199 234 * get a definition of a share (service) from configuration. 200 235 */ 201 WERRORsmbconf_get_share(struct smbconf_ctx *ctx,236 sbcErr smbconf_get_share(struct smbconf_ctx *ctx, 202 237 TALLOC_CTX *mem_ctx, 203 238 const char *servicename, … … 210 245 * delete a service from configuration 211 246 */ 212 WERRORsmbconf_delete_share(struct smbconf_ctx *ctx, const char *servicename)247 sbcErr smbconf_delete_share(struct smbconf_ctx *ctx, const char *servicename) 213 248 { 214 249 if (!smbconf_share_exists(ctx, servicename)) { 215 return WERR_NO_SUCH_SERVICE;250 return SBC_ERR_NO_SUCH_SERVICE; 216 251 } 217 252 … … 222 257 * set a configuration parameter to the value provided. 223 258 */ 224 WERRORsmbconf_set_parameter(struct smbconf_ctx *ctx,259 sbcErr smbconf_set_parameter(struct smbconf_ctx *ctx, 225 260 const char *service, 226 261 const char *param, … … 236 271 * This also creates [global] when it does not exist. 237 272 */ 238 WERRORsmbconf_set_global_parameter(struct smbconf_ctx *ctx,273 sbcErr smbconf_set_global_parameter(struct smbconf_ctx *ctx, 239 274 const char *param, const char *val) 240 275 { 241 WERROR werr; 242 243 werr = smbconf_global_check(ctx); 244 if (W_ERROR_IS_OK(werr)) { 245 werr = smbconf_set_parameter(ctx, GLOBAL_NAME, param, val); 246 } 247 248 return werr; 276 sbcErr err; 277 278 err = smbconf_global_check(ctx); 279 if (!SBC_ERROR_IS_OK(err)) { 280 return err; 281 } 282 err = smbconf_set_parameter(ctx, GLOBAL_NAME, param, val); 283 284 return err; 249 285 } 250 286 … … 252 288 * get the value of a configuration parameter as a string 253 289 */ 254 WERRORsmbconf_get_parameter(struct smbconf_ctx *ctx,290 sbcErr smbconf_get_parameter(struct smbconf_ctx *ctx, 255 291 TALLOC_CTX *mem_ctx, 256 292 const char *service, … … 259 295 { 260 296 if (valstr == NULL) { 261 return WERR_INVALID_PARAM;297 return SBC_ERR_INVALID_PARAM; 262 298 } 263 299 … … 270 306 * Create [global] if it does not exist. 271 307 */ 272 WERRORsmbconf_get_global_parameter(struct smbconf_ctx *ctx,308 sbcErr smbconf_get_global_parameter(struct smbconf_ctx *ctx, 273 309 TALLOC_CTX *mem_ctx, 274 310 const char *param, 275 311 char **valstr) 276 312 { 277 WERROR werr; 278 279 werr = smbconf_global_check(ctx); 280 if (W_ERROR_IS_OK(werr)) { 281 werr = smbconf_get_parameter(ctx, mem_ctx, GLOBAL_NAME, param, 282 valstr); 283 } 284 285 return werr; 313 sbcErr err; 314 315 err = smbconf_global_check(ctx); 316 if (!SBC_ERROR_IS_OK(err)) { 317 return err; 318 } 319 320 err = smbconf_get_parameter(ctx, mem_ctx, GLOBAL_NAME, param, 321 valstr); 322 323 return err; 286 324 } 287 325 … … 289 327 * delete a parameter from configuration 290 328 */ 291 WERRORsmbconf_delete_parameter(struct smbconf_ctx *ctx,329 sbcErr smbconf_delete_parameter(struct smbconf_ctx *ctx, 292 330 const char *service, const char *param) 293 331 { … … 300 338 * Create [global] if it does not exist. 301 339 */ 302 WERRORsmbconf_delete_global_parameter(struct smbconf_ctx *ctx,340 sbcErr smbconf_delete_global_parameter(struct smbconf_ctx *ctx, 303 341 const char *param) 304 342 { 305 WERROR werr; 306 307 werr = smbconf_global_check(ctx); 308 if (W_ERROR_IS_OK(werr)) { 309 werr = smbconf_delete_parameter(ctx, GLOBAL_NAME, param); 310 } 311 312 return werr; 313 } 314 315 WERROR smbconf_get_includes(struct smbconf_ctx *ctx, 343 sbcErr err; 344 345 err = smbconf_global_check(ctx); 346 if (!SBC_ERROR_IS_OK(err)) { 347 return err; 348 } 349 err = smbconf_delete_parameter(ctx, GLOBAL_NAME, param); 350 351 return err; 352 } 353 354 sbcErr smbconf_get_includes(struct smbconf_ctx *ctx, 316 355 TALLOC_CTX *mem_ctx, 317 356 const char *service, … … 322 361 } 323 362 324 WERRORsmbconf_get_global_includes(struct smbconf_ctx *ctx,363 sbcErr smbconf_get_global_includes(struct smbconf_ctx *ctx, 325 364 TALLOC_CTX *mem_ctx, 326 365 uint32_t *num_includes, char ***includes) 327 366 { 328 WERROR werr; 329 330 werr = smbconf_global_check(ctx); 331 if (W_ERROR_IS_OK(werr)) { 332 werr = smbconf_get_includes(ctx, mem_ctx, GLOBAL_NAME, 333 num_includes, includes); 334 } 335 336 return werr; 337 } 338 339 WERROR smbconf_set_includes(struct smbconf_ctx *ctx, 367 sbcErr err; 368 369 err = smbconf_global_check(ctx); 370 if (!SBC_ERROR_IS_OK(err)) { 371 return err; 372 } 373 err = smbconf_get_includes(ctx, mem_ctx, GLOBAL_NAME, 374 num_includes, includes); 375 376 return err; 377 } 378 379 sbcErr smbconf_set_includes(struct smbconf_ctx *ctx, 340 380 const char *service, 341 381 uint32_t num_includes, const char **includes) … … 344 384 } 345 385 346 WERRORsmbconf_set_global_includes(struct smbconf_ctx *ctx,386 sbcErr smbconf_set_global_includes(struct smbconf_ctx *ctx, 347 387 uint32_t num_includes, 348 388 const char **includes) 349 389 { 350 WERROR werr; 351 352 werr = smbconf_global_check(ctx); 353 if (W_ERROR_IS_OK(werr)) { 354 werr = smbconf_set_includes(ctx, GLOBAL_NAME, 355 num_includes, includes); 356 } 357 358 return werr; 359 } 360 361 362 WERROR smbconf_delete_includes(struct smbconf_ctx *ctx, const char *service) 390 sbcErr err; 391 392 err = smbconf_global_check(ctx); 393 if (!SBC_ERROR_IS_OK(err)) { 394 return err; 395 } 396 err = smbconf_set_includes(ctx, GLOBAL_NAME, 397 num_includes, includes); 398 399 return err; 400 } 401 402 403 sbcErr smbconf_delete_includes(struct smbconf_ctx *ctx, const char *service) 363 404 { 364 405 return ctx->ops->delete_includes(ctx, service); 365 406 } 366 407 367 WERROR smbconf_delete_global_includes(struct smbconf_ctx *ctx) 368 { 369 WERROR werr; 370 371 werr = smbconf_global_check(ctx); 372 if (W_ERROR_IS_OK(werr)) { 373 werr = smbconf_delete_includes(ctx, GLOBAL_NAME); 374 } 375 376 return werr; 377 } 378 379 WERROR smbconf_transaction_start(struct smbconf_ctx *ctx) 408 sbcErr smbconf_delete_global_includes(struct smbconf_ctx *ctx) 409 { 410 sbcErr err; 411 412 err = smbconf_global_check(ctx); 413 if (!SBC_ERROR_IS_OK(err)) { 414 return err; 415 } 416 err = smbconf_delete_includes(ctx, GLOBAL_NAME); 417 418 return err; 419 } 420 421 sbcErr smbconf_transaction_start(struct smbconf_ctx *ctx) 380 422 { 381 423 return ctx->ops->transaction_start(ctx); 382 424 } 383 425 384 WERRORsmbconf_transaction_commit(struct smbconf_ctx *ctx)426 sbcErr smbconf_transaction_commit(struct smbconf_ctx *ctx) 385 427 { 386 428 return ctx->ops->transaction_commit(ctx); 387 429 } 388 430 389 WERRORsmbconf_transaction_cancel(struct smbconf_ctx *ctx)431 sbcErr smbconf_transaction_cancel(struct smbconf_ctx *ctx) 390 432 { 391 433 return ctx->ops->transaction_cancel(ctx);
Note:
See TracChangeset
for help on using the changeset viewer.