}
/* main function table */
-static struct functable3 net_func[] = {
+static struct functable net_func[] = {
{
"rpc",
net_rpc,
}
c->private_data = net_func;
- rc = net_run_function3(c, argc_new-1, argv_new+1, "net", net_func);
+ rc = net_run_function(c, argc_new-1, argv_new+1, "net", net_func);
DEBUG(2,("return code = %d\n", rc));
struct functable {
const char *funcname;
int (*fn)(struct net_context *c, int argc, const char **argv);
-};
-
-struct functable2 {
- const char *funcname;
- int (*fn)(struct net_context *c, int argc, const char **argv);
- const char *helptext;
-};
-
-struct functable3 {
- const char *funcname;
- int (*fn)(struct net_context *c, int argc, const char **argv);
int valid_transports;
const char *description;
const char *usage;
int net_ads_user(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"add",
ads_user_add,
return ADS_ERR_OK(rc) ? 0 : -1;
}
- return net_run_function3(c, argc, argv, "net ads user", func);
+ return net_run_function(c, argc, argv, "net ads user", func);
}
static int net_ads_group_usage(struct net_context *c, int argc, const char **argv)
int net_ads_group(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"add",
ads_group_add,
ads_destroy(&ads);
return ADS_ERR_OK(rc) ? 0 : -1;
}
- return net_run_function3(c, argc, argv, "net ads group", func);
+ return net_run_function(c, argc, argv, "net ads group", func);
}
static int net_ads_status(struct net_context *c, int argc, const char **argv)
static int net_ads_dns(struct net_context *c, int argc, const char *argv[])
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"register",
net_ads_dns_register,
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net ads dns", func);
+ return net_run_function(c, argc, argv, "net ads dns", func);
}
/*******************************************************************
static int net_ads_printer(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"search",
net_ads_printer_search,
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net ads printer", func);
+ return net_run_function(c, argc, argv, "net ads printer", func);
}
int net_ads_keytab(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"add",
net_ads_keytab_add,
use keytab functions.\n");
}
- return net_run_function3(c, argc, argv, "net ads keytab", func);
+ return net_run_function(c, argc, argv, "net ads keytab", func);
}
static int net_ads_kerberos_renew(struct net_context *c, int argc, const char **argv)
int net_ads_kerberos(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"kinit",
net_ads_kerberos_kinit,
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net ads kerberos", func);
+ return net_run_function(c, argc, argv, "net ads kerberos", func);
}
int net_ads(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"info",
net_ads_info,
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net ads", func);
+ return net_run_function(c, argc, argv, "net ads", func);
}
#else
int net_ads_gpo(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
#if 0
{
"apply",
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net ads gpo", func);
+ return net_run_function(c, argc, argv, "net ads gpo", func);
}
#endif /* HAVE_ADS */
int net_afs(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"key",
net_afs_key,
},
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net afs", func);
+ return net_run_function(c, argc, argv, "net afs", func);
}
**/
int net_cache(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"add",
net_cache_add,
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net cache", func);
+ return net_run_function(c, argc, argv, "net cache", func);
}
};
/**
- * This imitates net_run_function3 but calls the main functions
+ * This imitates net_run_function but calls the main functions
* through the wrapper net_conf_wrap_function().
*/
static int net_conf_run_function(struct net_context *c, int argc,
{
NET_API_STATUS status;
- struct functable3 func[] = {
+ struct functable func[] = {
{
"join",
net_dom_join,
libnetapi_set_username(c->netapi_ctx, c->opt_user_name);
libnetapi_set_password(c->netapi_ctx, c->opt_password);
- return net_run_function3(c, argc, argv, "net dom", func);
+ return net_run_function(c, argc, argv, "net dom", func);
}
**********************************************************/
int net_groupmap(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"add",
net_groupmap_add,
return -1;
}
- return net_run_function3(c,argc, argv, "net groupmap", func);
+ return net_run_function(c,argc, argv, "net groupmap", func);
}
static int net_usage(struct net_context *c, int argc, const char **argv)
{
- struct functable3 *table = (struct functable3*) c->private_data;
+ struct functable *table = (struct functable*) c->private_data;
int i;
d_printf("Usage:\n");
*/
int net_help(struct net_context *c, int argc, const char **argv)
{
- struct functable3 *func = (struct functable3 *)c->private_data;
+ struct functable *func = (struct functable *)c->private_data;
if (argc == 0) {
return net_usage(c, argc, argv);
}
c->display_usage = true;
- return net_run_function3(c, argc, argv, "net help", func);
+ return net_run_function(c, argc, argv, "net help", func);
}
**********************************************************/
int net_idmap(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"dump",
net_idmap_dump,
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net idmap", func);
+ return net_run_function(c, argc, argv, "net idmap", func);
}
unsigned flags, struct cli_state **pcli);
const char *net_prompt_pass(struct net_context *c, const char *user);
int net_run_function(struct net_context *c, int argc, const char **argv,
- struct functable *table,
- int (*usage_fn)(struct net_context *c,
- int argc, const char **argv));
-int net_run_function2(struct net_context *c, int argc, const char **argv,
- const char *whoami, struct functable2 *table);
-int net_run_function3(struct net_context *c, int argc, const char **argv,
- const char *whoami, struct functable3 *table);
-void net_display_usage_from_functable(struct functable3 *table);
+ const char *whoami, struct functable *table);
+void net_display_usage_from_functable(struct functable *table);
/* The following definitions come from utils/netlookup.c */
int net_rap_file(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"close",
rap_file_close,
return ret;
}
- return net_run_function3(c, argc, argv, "net rap file", func);
+ return net_run_function(c, argc, argv, "net rap file", func);
}
int net_rap_share_usage(struct net_context *c, int argc, const char **argv)
int net_rap_share(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"delete",
rap_share_delete,
return ret;
}
- return net_run_function3(c, argc, argv, "net rap share", func);
+ return net_run_function(c, argc, argv, "net rap share", func);
}
int net_rap_session_usage(struct net_context *c, int argc, const char **argv)
int net_rap_session(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"info",
rap_session_info,
return ret;
}
- return net_run_function3(c, argc, argv, "net rap session", func);
+ return net_run_function(c, argc, argv, "net rap session", func);
}
/****************************************************************************
int net_rap_server(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"name",
net_rap_server_name,
/* smb4k uses 'net [rap|rpc] server domain' to query servers in a domain */
/* Fall through for 'domain', any other forms will cause to show usage message */
- return net_run_function3(c, argc, argv, "net rap server", func);
+ return net_run_function(c, argc, argv, "net rap server", func);
}
struct cli_state *cli;
int ret;
- struct functable3 func[] = {
+ struct functable func[] = {
{
"info",
rap_printq_info,
return ret;
}
- return net_run_function3(c, argc, argv, "net rap printq", func);
+ return net_run_function(c, argc, argv, "net rap printq", func);
}
static int net_rap_user_usage(struct net_context *c, int argc, const char **argv)
int net_rap_user(struct net_context *c, int argc, const char **argv)
{
int ret = -1;
- struct functable3 func[] = {
+ struct functable func[] = {
{
"add",
rap_user_add,
goto done;
}
- ret = net_run_function3(c, argc, argv, "net rap user", func);
+ ret = net_run_function(c, argc, argv, "net rap user", func);
done:
if (ret != 0) {
DEBUG(1, ("Net user returned: %d\n", ret));
int net_rap_group(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"add",
rap_group_add,
return ret;
}
- return net_run_function3(c, argc, argv, "net rap group", func);
+ return net_run_function(c, argc, argv, "net rap group", func);
}
int net_rap_groupmember_usage(struct net_context *c, int argc, const char **argv)
int net_rap_groupmember(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"add",
rap_groupmember_add,
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net rap groupmember", func);
+ return net_run_function(c, argc, argv, "net rap groupmember", func);
}
int net_rap_validate_usage(struct net_context *c, int argc, const char **argv)
int net_rap_service(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"start",
rap_service_start,
return ret;
}
- return net_run_function3(c, argc, argv, "net rap service", func);
+ return net_run_function(c, argc, argv, "net rap service", func);
}
int net_rap_password_usage(struct net_context *c, int argc, const char **argv)
int net_rap(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"file",
net_rap_file,
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net rap", func);
+ return net_run_function(c, argc, argv, "net rap", func);
}
{
int ret = -1;
- struct functable3 func[] = {
+ struct functable func[] = {
{
"enumerate",
net_registry_enumerate,
return -1;
}
- ret = net_run_function3(c, argc, argv, "net registry", func);
+ ret = net_run_function(c, argc, argv, "net registry", func);
return ret;
}
{
NET_API_STATUS status;
- struct functable3 func[] = {
+ struct functable func[] = {
{
"add",
rpc_user_add,
argc, argv);
}
- return net_run_function3(c, argc, argv, "net rpc user", func);
+ return net_run_function(c, argc, argv, "net rpc user", func);
}
static NTSTATUS rpc_sh_user_list(struct net_context *c,
{
NET_API_STATUS status;
- struct functable3 func[] = {
+ struct functable func[] = {
{
"add",
rpc_group_add,
argc, argv);
}
- return net_run_function3(c, argc, argv, "net rpc group", func);
+ return net_run_function(c, argc, argv, "net rpc group", func);
}
/****************************************************************************/
static int rpc_share_migrate(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"all",
rpc_share_migrate_all,
net_mode_share = NET_MODE_SHARE_MIGRATE;
- return net_run_function3(c, argc, argv, "net rpc share migrate", func);
+ return net_run_function(c, argc, argv, "net rpc share migrate", func);
}
struct full_alias {
int net_rpc_share(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"add",
rpc_share_add,
argc, argv);
}
- return net_run_function3(c, argc, argv, "net rpc share", func);
+ return net_run_function(c, argc, argv, "net rpc share", func);
}
static NTSTATUS rpc_sh_share_list(struct net_context *c,
int net_rpc_file(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"close",
rpc_file_close,
argc, argv);
}
- return net_run_function3(c, argc, argv, "net rpc file", func);
+ return net_run_function(c, argc, argv, "net rpc file", func);
}
/**
static int rpc_trustdom(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"add",
rpc_trustdom_add,
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net rpc trustdom", func);
+ return net_run_function(c, argc, argv, "net rpc trustdom", func);
}
/**
rpc_printer_migrate_drivers_internals, the printer-queue already
*has* to exist */
- struct functable3 func[] = {
+ struct functable func[] = {
{
"all",
rpc_printer_migrate_all,
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net rpc printer migrate",func);
+ return net_run_function(c, argc, argv, "net rpc printer migrate",func);
}
const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"publish",
rpc_printer_publish_publish,
argc, argv);
}
- return net_run_function3(c, argc, argv, "net rpc printer publish",func);
+ return net_run_function(c, argc, argv, "net rpc printer publish",func);
}
**/
int net_rpc_printer(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"list",
rpc_printer_list,
argc, argv);
}
- return net_run_function3(c, argc, argv, "net rpc printer", func);
+ return net_run_function(c, argc, argv, "net rpc printer", func);
}
/**
int net_rpc(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"audit",
net_rpc_audit,
},
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net rpc", func);
+ return net_run_function(c, argc, argv, "net rpc", func);
}
int net_rpc_audit(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"get",
rpc_audit_get,
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net rpc audit", func);
+ return net_run_function(c, argc, argv, "net rpc audit", func);
}
int net_rpc_registry(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"enumerate",
rpc_registry_enumerate,
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net rpc registry", func);
+ return net_run_function(c, argc, argv, "net rpc registry", func);
}
int net_rpc_rights(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"list",
rpc_rights_list,
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net rpc rights", func);
+ return net_run_function(c, argc, argv, "net rpc rights", func);
}
static NTSTATUS rpc_sh_rights_list(struct net_context *c,
int net_rpc_service(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"list",
rpc_service_list,
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net rpc service",func);
+ return net_run_function(c, argc, argv, "net rpc service",func);
}
static int net_sam_set(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"homedir",
net_sam_set_homedir,
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net sam set", func);
+ return net_run_function(c, argc, argv, "net sam set", func);
}
/*
static int net_sam_policy(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"list",
net_sam_policy_list,
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net sam policy", func);
+ return net_run_function(c, argc, argv, "net sam policy", func);
}
extern PRIVS privs[];
static int net_sam_rights(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"list",
net_sam_rights_list,
},
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net sam rights", func);
+ return net_run_function(c, argc, argv, "net sam rights", func);
}
/*
static int net_sam_list(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"users",
net_sam_list_users,
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net sam list", func);
+ return net_run_function(c, argc, argv, "net sam list", func);
}
/*
**********************************************************/
int net_sam(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"createbuiltingroup",
net_sam_createbuiltingroup,
"work\n");
}
- return net_run_function3(c, argc, argv, "net sam", func);
+ return net_run_function(c, argc, argv, "net sam", func);
}
int net_status(struct net_context *c, int argc, const char **argv)
{
- struct functable3 func[] = {
+ struct functable func[] = {
{
"sessions",
net_status_sessions,
},
{NULL, NULL, 0, NULL, NULL}
};
- return net_run_function3(c, argc, argv, "net status", func);
+ return net_run_function(c, argc, argv, "net status", func);
}
int net_time(struct net_context *c, int argc, const char **argv)
{
time_t t;
- struct functable3 func[] = {
+ struct functable func[] = {
{
"system",
net_time_system,
};
if (argc != 0) {
- return net_run_function3(c, argc, argv, "net time", func);
+ return net_run_function(c, argc, argv, "net time", func);
}
if (c->display_usage) {
{
SMB_STRUCT_DIR *dp;
- struct functable3 func[] = {
+ struct functable func[] = {
{
"add",
net_usershare_add,
}
sys_closedir(dp);
- return net_run_function3(c, argc, argv, "net usershare", func);
+ return net_run_function(c, argc, argv, "net usershare", func);
}
return pass;
}
-/*
- run a function from a function table. If not found then
- call the specified usage function
-*/
int net_run_function(struct net_context *c, int argc, const char **argv,
- struct functable *table,
- int (*usage_fn)(struct net_context *c,
- int argc, const char **argv))
-{
- int i;
-
- if (argc < 1) {
- d_printf("\nUsage: \n");
- return usage_fn(c, argc, argv);
- }
- for (i=0; table[i].funcname; i++) {
- if (StrCaseCmp(argv[0], table[i].funcname) == 0)
- return table[i].fn(c, argc-1, argv+1);
- }
- d_fprintf(stderr, "No command: %s\n", argv[0]);
- return usage_fn(c, argc, argv);
-}
-
-/*
- * run a function from a function table.
- */
-int net_run_function2(struct net_context *c, int argc, const char **argv,
- const char *whoami, struct functable2 *table)
-{
- int i;
-
- if (argc != 0) {
- for (i=0; table[i].funcname; i++) {
- if (StrCaseCmp(argv[0], table[i].funcname) == 0)
- return table[i].fn(c, argc-1, argv+1);
- }
- }
-
- d_fprintf(stderr, "Invalid command: %s %s\n", whoami,
- (argc > 0)?argv[0]:"");
- d_printf("Usage:\n");
- for (i=0; table[i].funcname != NULL; i++) {
- d_printf("%s %-15s %s\n", whoami, table[i].funcname,
- table[i].helptext);
- }
-
- return -1;
-}
-
-int net_run_function3(struct net_context *c, int argc, const char **argv,
- const char *whoami, struct functable3 *table)
+ const char *whoami, struct functable *table)
{
int i;
if (argc != 0) {
return c->display_usage?0:-1;
}
-void net_display_usage_from_functable(struct functable3 *table)
+void net_display_usage_from_functable(struct functable *table)
{
int i;
for (i=0; table[i].funcname != NULL; i++) {