コード例 #1
0
ファイル: test.c プロジェクト: kamasamikon/libhilda
int main(int argc, char *argv[])
{
	char *s = "";
	int i = 0;

	klog_init(argc, argv);
	klog_add_logger(logger_stdout);

	kopt_init(argc, argv);
	kopt_rpc_server_init(9000, argc, argv);

	kopt_setfile("/tmp/myproj.opt");

	kopt_add_s("b:/sys/admin/xxx/enable", OA_DFT, NULL, NULL);
	kopt_setint("b:/sys/admin/xxx/enable", 1);
	kopt_add_s("s:/sys/usr/xxx/passwd", OA_DFT, NULL, NULL);
	kopt_setstr("s:/sys/usr/xxx/passwd", "xxx");

	kopt_add_s("p:/env/log/cc", OA_GET, NULL, NULL);
	kopt_setptr("p:/env/log/cc", 0);

	kopt_add_s("s:/sys/proc/uptime", OA_GET, NULL, og_uptime);

	kopt_add_s("b:/wushan/cmd/login", OA_DFT, os_login, NULL);

	for (;;) {
		klog("xxxxxxxxx\n");
		kerror("Error ...... \n");

		kopt_getstr("s:/a/b/c", &s);
		klog("SSSS: %s\n", s);

		kopt_getint("i:/a/b/c", &i);
		klog("IIII: %d\n", i);

		sleep(1);
	}
}
コード例 #2
0
static int check_authority(const char mode, const char *rpc_client,
		const char *connhash, const char *user, const char *pass)
{
	int enable;
	char buffer[1024], *sv;

	sprintf(buffer, "b:/sys/admin/%s/enable", rpc_client);
	if (kopt_getint(buffer, &enable) || !enable) {
		kerror("Bad client <%s> or client disabled\n", rpc_client);
		return -1;
	}

	sprintf(buffer, "s:/sys/usr/%s/passwd", user);
	klog("\n\nFor remote administrator, must check user name and passwd\n");
	if (!kopt_getstr(buffer, &sv)) {
		if (!strcmp(sv, pass))
			return 0;
		kerror("Get password for user '%s' failed\n", user);
		kerror("Should be '%s', but input '%s'\n", sv, pass);
	}

	return -1;
}