関数 | |
static NTSTATUS | cmd_dfs_exist (struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) |
static NTSTATUS | cmd_dfs_add (struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) |
static NTSTATUS | cmd_dfs_remove (struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) |
static void | display_dfs_info_1 (NETDFS_DFS_INFO1 *info1) |
static void | display_dfs_info_2 (NETDFS_DFS_INFO2 *info2) |
static void | display_dfs_info_3 (NETDFS_DFS_INFO3 *info3) |
static void | display_dfs_info (NETDFS_DFS_INFO_CTR *ctr) |
static void | display_dfs_enumstruct (NETDFS_DFS_ENUMSTRUCT *ctr) |
static NTSTATUS | cmd_dfs_enum (struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) |
static NTSTATUS | cmd_dfs_getinfo (struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) |
変数 | |
cmd_set | dfs_commands [] |
static NTSTATUS cmd_dfs_exist | ( | struct rpc_pipe_client * | cli, | |
TALLOC_CTX * | mem_ctx, | |||
int | argc, | |||
const char ** | argv | |||
) | [static] |
参照先 cli・printf()・result・rpccli_dfs_GetManagerVersion().
00030 { 00031 uint32 dfs_exists; 00032 NTSTATUS result; 00033 00034 if (argc != 1) { 00035 printf("Usage: %s\n", argv[0]); 00036 return NT_STATUS_OK; 00037 } 00038 00039 result = rpccli_dfs_GetManagerVersion(cli, mem_ctx, &dfs_exists); 00040 00041 if (NT_STATUS_IS_OK(result)) 00042 printf("dfs is %spresent\n", dfs_exists ? "" : "not "); 00043 00044 return result; 00045 }
static NTSTATUS cmd_dfs_add | ( | struct rpc_pipe_client * | cli, | |
TALLOC_CTX * | mem_ctx, | |||
int | argc, | |||
const char ** | argv | |||
) | [static] |
参照先 cli・flags・printf()・result・rpccli_dfs_Add().
00049 { 00050 NTSTATUS result; 00051 const char *path, *servername, *sharename, *comment; 00052 uint32 flags = 0; 00053 00054 if (argc != 5) { 00055 printf("Usage: %s path servername sharename comment\n", 00056 argv[0]); 00057 return NT_STATUS_OK; 00058 } 00059 00060 path = argv[1]; 00061 servername = argv[2]; 00062 sharename = argv[3]; 00063 comment = argv[4]; 00064 00065 result = rpccli_dfs_Add(cli, mem_ctx, path, servername, 00066 sharename, comment, flags); 00067 00068 return result; 00069 }
static NTSTATUS cmd_dfs_remove | ( | struct rpc_pipe_client * | cli, | |
TALLOC_CTX * | mem_ctx, | |||
int | argc, | |||
const char ** | argv | |||
) | [static] |
参照先 cli・printf()・result・rpccli_dfs_Remove().
00073 { 00074 NTSTATUS result; 00075 const char *path, *servername, *sharename; 00076 00077 if (argc != 4) { 00078 printf("Usage: %s path servername sharename\n", argv[0]); 00079 return NT_STATUS_OK; 00080 } 00081 00082 path = argv[1]; 00083 servername = argv[2]; 00084 sharename = argv[3]; 00085 00086 result = rpccli_dfs_Remove(cli, mem_ctx, path, servername, 00087 sharename); 00088 00089 return result; 00090 }
static void display_dfs_info_1 | ( | NETDFS_DFS_INFO1 * | info1 | ) | [static] |
参照先 netdfs_dfs_Info1::path・printf()・unistr2_to_ascii().
参照元 display_dfs_enumstruct()・display_dfs_info().
00095 { 00096 fstring temp; 00097 00098 unistr2_to_ascii(temp, &info1->path, sizeof(temp) - 1); 00099 printf("path: %s\n", temp); 00100 }
static void display_dfs_info_2 | ( | NETDFS_DFS_INFO2 * | info2 | ) | [static] |
参照先 netdfs_dfs_Info2::comment・netdfs_dfs_Info2::num_stores・netdfs_dfs_Info2::path・printf()・netdfs_dfs_Info2::state・unistr2_to_ascii().
参照元 display_dfs_enumstruct()・display_dfs_info().
00105 { 00106 fstring temp; 00107 00108 unistr2_to_ascii(temp, &info2->path, sizeof(temp) - 1); 00109 printf("path: %s\n", temp); 00110 00111 unistr2_to_ascii(temp, &info2->comment, sizeof(temp) - 1); 00112 printf("\tcomment: %s\n", temp); 00113 00114 printf("\tstate: %d\n", info2->state); 00115 printf("\tnum_stores: %d\n", info2->num_stores); 00116 }
static void display_dfs_info_3 | ( | NETDFS_DFS_INFO3 * | info3 | ) | [static] |
参照先 netdfs_dfs_Info3::comment・netdfs_dfs_Info3::num_stores・netdfs_dfs_Info3::path・printf()・netdfs_dfs_Info3::state・netdfs_dfs_Info3::stores・unistr2_to_ascii().
参照元 display_dfs_enumstruct()・display_dfs_info().
00121 { 00122 fstring temp; 00123 int i; 00124 00125 unistr2_to_ascii(temp, &info3->path, sizeof(temp) - 1); 00126 printf("path: %s\n", temp); 00127 00128 unistr2_to_ascii(temp, &info3->comment, sizeof(temp) - 1); 00129 printf("\tcomment: %s\n", temp); 00130 00131 printf("\tstate: %d\n", info3->state); 00132 printf("\tnum_stores: %d\n", info3->num_stores); 00133 00134 for (i = 0; i < info3->num_stores; i++) { 00135 NETDFS_DFS_STORAGEINFO *dsi = &info3->stores[i]; 00136 00137 unistr2_to_ascii(temp, &dsi->server, sizeof(temp) - 1); 00138 printf("\t\tstorage[%d] server: %s\n", i, temp); 00139 00140 unistr2_to_ascii(temp, &dsi->share, sizeof(temp) - 1); 00141 printf("\t\tstorage[%d] share: %s\n", i, temp); 00142 } 00143 }
static void display_dfs_info | ( | NETDFS_DFS_INFO_CTR * | ctr | ) | [static] |
参照先 display_dfs_info_1()・display_dfs_info_2()・display_dfs_info_3()・netdfs_dfs_Info_ctr::netdfs_dfs_Info::info1・netdfs_dfs_Info_ctr::netdfs_dfs_Info::info2・netdfs_dfs_Info_ctr::netdfs_dfs_Info::info3・printf()・netdfs_dfs_Info_ctr::switch_value・netdfs_dfs_Info_ctr::u.
参照元 cmd_dfs_getinfo().
00148 { 00149 switch (ctr->switch_value) { 00150 case 0x01: 00151 display_dfs_info_1(&ctr->u.info1); 00152 break; 00153 case 0x02: 00154 display_dfs_info_2(&ctr->u.info2); 00155 break; 00156 case 0x03: 00157 display_dfs_info_3(&ctr->u.info3); 00158 break; 00159 default: 00160 printf("unsupported info level %d\n", 00161 ctr->switch_value); 00162 break; 00163 } 00164 }
static void display_dfs_enumstruct | ( | NETDFS_DFS_ENUMSTRUCT * | ctr | ) | [static] |
参照先 netdfs_dfs_EnumArray1::count・display_dfs_info_1()・display_dfs_info_2()・display_dfs_info_3()・netdfs_dfs_EnumStruct::e・netdfs_dfs_EnumInfo_ctr::netdfs_dfs_EnumInfo::info1・netdfs_dfs_EnumInfo_ctr::netdfs_dfs_EnumInfo::info2・netdfs_dfs_EnumInfo_ctr::netdfs_dfs_EnumInfo::info3・netdfs_dfs_EnumStruct::level・printf()・netdfs_dfs_EnumArray3::s・netdfs_dfs_EnumArray2::s・netdfs_dfs_EnumArray1::s・netdfs_dfs_EnumInfo_ctr::u.
参照元 cmd_dfs_enum().
00167 { 00168 int i; 00169 00170 /* count is always the first element, so we can just use info1 here */ 00171 for (i = 0; i < ctr->e.u.info1.count; i++) { 00172 switch (ctr->level) { 00173 case 1: display_dfs_info_1(&ctr->e.u.info1.s[i]); break; 00174 case 2: display_dfs_info_2(&ctr->e.u.info2.s[i]); break; 00175 case 3: display_dfs_info_3(&ctr->e.u.info3.s[i]); break; 00176 default: 00177 printf("unsupported info level %d\n", 00178 ctr->level); 00179 return; 00180 } 00181 } 00182 }
static NTSTATUS cmd_dfs_enum | ( | struct rpc_pipe_client * | cli, | |
TALLOC_CTX * | mem_ctx, | |||
int | argc, | |||
const char ** | argv | |||
) | [static] |
参照先 cli・display_dfs_enumstruct()・netdfs_dfs_EnumStruct::e・init_netdfs_dfs_EnumStruct()・printf()・netdfs_dfs_EnumInfo_ctr::ptr0・result・rpccli_dfs_Enum()・total.
00188 { 00189 NETDFS_DFS_ENUMSTRUCT str; 00190 NETDFS_DFS_ENUMINFO_CTR ctr; 00191 NTSTATUS result; 00192 uint32 info_level = 1; 00193 uint32 total = 0; 00194 00195 if (argc > 2) { 00196 printf("Usage: %s [info_level]\n", argv[0]); 00197 return NT_STATUS_OK; 00198 } 00199 00200 if (argc == 2) 00201 info_level = atoi(argv[1]); 00202 00203 ZERO_STRUCT(ctr); 00204 init_netdfs_dfs_EnumStruct(&str, info_level, ctr); 00205 str.e.ptr0 = 1; 00206 00207 result = rpccli_dfs_Enum(cli, mem_ctx, info_level, 0xFFFFFFFF, &str, &total); 00208 00209 if (NT_STATUS_IS_OK(result)) 00210 display_dfs_enumstruct(&str); 00211 00212 return result; 00213 }
static NTSTATUS cmd_dfs_getinfo | ( | struct rpc_pipe_client * | cli, | |
TALLOC_CTX * | mem_ctx, | |||
int | argc, | |||
const char ** | argv | |||
) | [static] |
参照先 cli・display_dfs_info()・printf()・result・rpccli_dfs_GetInfo().
00217 { 00218 NTSTATUS result; 00219 const char *path, *servername, *sharename; 00220 uint32 info_level = 1; 00221 NETDFS_DFS_INFO_CTR ctr; 00222 00223 if (argc < 4 || argc > 5) { 00224 printf("Usage: %s path servername sharename " 00225 "[info_level]\n", argv[0]); 00226 return NT_STATUS_OK; 00227 } 00228 00229 path = argv[1]; 00230 servername = argv[2]; 00231 sharename = argv[3]; 00232 00233 if (argc == 5) 00234 info_level = atoi(argv[4]); 00235 00236 result = rpccli_dfs_GetInfo(cli, mem_ctx, path, servername, 00237 sharename, info_level, &ctr); 00238 00239 if (NT_STATUS_IS_OK(result)) 00240 display_dfs_info(&ctr); 00241 00242 return result; 00243 }
struct cmd_set dfs_commands[] |
初期値:
{ { "DFS" }, { "dfsexist", RPC_RTYPE_NTSTATUS, cmd_dfs_exist, NULL, PI_NETDFS, NULL, "Query DFS support", "" }, { "dfsadd", RPC_RTYPE_NTSTATUS, cmd_dfs_add, NULL, PI_NETDFS, NULL, "Add a DFS share", "" }, { "dfsremove", RPC_RTYPE_NTSTATUS, cmd_dfs_remove, NULL, PI_NETDFS, NULL, "Remove a DFS share", "" }, { "dfsgetinfo",RPC_RTYPE_NTSTATUS, cmd_dfs_getinfo, NULL, PI_NETDFS, NULL, "Query DFS share info", "" }, { "dfsenum", RPC_RTYPE_NTSTATUS, cmd_dfs_enum, NULL, PI_NETDFS, NULL, "Enumerate dfs shares", "" }, { NULL } }