コード例 #1
0
ファイル: cmd_reg.c プロジェクト: jinxinzheng/GSConferencing
static void get_client_info(char *info, const struct device *d)
{
  int l = 0;
  struct group *g = d->group;
  struct db_device *dd = d->db_data;
  struct db_group *dg = g->db_data;

  struct db_discuss *dsc = g->discuss.current;

  struct db_vote *dvt = d->vote.v ? g->vote.current : NULL;

  const char *ver = get_client_version();

#define ADD_ARG(fmt, a...) SEP_ADD(info, l, ":", fmt, ##a)

  ADD_ARG("client_version=%s", ver[0]? ver:"0");

  ADD_ARG("user_id=%s", dd->user_id);
  ADD_ARG("user_name=%s", dd->user_name);
  ADD_ARG("user_gender=%d", dd->user_gender);
  ADD_ARG("tag=%d", dd->tagid);
  ADD_ARG("sub=%d,%d", dd->sub1, dd->sub2);

  ADD_ARG("discuss_mode=%d", dg->discuss_mode);
  ADD_ARG("discuss_num=%d", dsc? g->discuss.curr_num : -1);
  ADD_ARG("discuss_name=%s", dsc? dsc->name : "0");
  ADD_ARG("discuss_nmembers=%d", g->discuss.nmembers);
  ADD_ARG("discuss_idlist=%s", dsc? dsc->members : "0");
  ADD_ARG("discuss_userlist=%s", dsc? g->discuss.membernames : "0");
  ADD_ARG("discuss_chair=%d", dd->discuss_chair);
  ADD_ARG("discuss_open=%d", dd->discuss_open);

  ADD_ARG("regist_start=%d", dg->regist_start);
  ADD_ARG("regist_master=%d", dd->regist_master);
  ADD_ARG("regist_mode=%d", dg->regist_mode);
  ADD_ARG("regist_reg=%d", d->regist.reg);

  ADD_ARG("vote_num=%d", dvt? g->vote.curr_num : -1);
  ADD_ARG("vote_nmembers=%d", g->vote.nmembers);
  ADD_ARG("vote_idlist=%s", dvt? dvt->members : "0");
  ADD_ARG("vote_userlist=%s", dvt? g->vote.membernames : "0");
  ADD_ARG("vote_master=%d", dvt? dd->vote_master:0);
  ADD_ARG("vote_name=%s", dvt? dvt->name:"0");
  ADD_ARG("vote_type=%d", dvt? dvt->type:0);
  ADD_ARG("vote_options=%s", dvt? dvt->options:"0");
  ADD_ARG("vote_total=%d", d->vote.v? d->vote.v->n_members:0);
  ADD_ARG("vote_results=%s", dg->vote_results);
  ADD_ARG("vote_choice=%d", dd->vote_choice);
}
コード例 #2
0
ファイル: rtsp.c プロジェクト: dparnell/raopd
utility_retcode_t init_rtsp_client(struct rtsp_client *client)
{
	utility_retcode_t ret;

	FUNC_ENTER;

	syscalls_memset(client, 0, sizeof(*client));
	get_client_name(client->name, sizeof(client->name));
	get_client_host(client->host, sizeof(client->host));
	get_client_version(client->version, sizeof(client->version));
	get_user_agent(client->user_agent, sizeof(client->user_agent));

	ret = get_random_bytes(client->challenge, sizeof(client->challenge));
	if (UTILITY_SUCCESS != ret) {
		goto out;
	}

	ret = get_client_instance(client->instance, sizeof(client->instance));

out:
	FUNC_RETURN;
	return ret;
}