Ejemplo n.º 1
0
void
run_marshal(struct evbuffer *evbuf, const struct run *tmp){
  evtag_marshal_string(evbuf, RUN_HOW, tmp->how_data);
  if (tmp->some_bytes_set) {
    evtag_marshal(evbuf, RUN_SOME_BYTES, tmp->some_bytes_data, tmp->some_bytes_length);
  }
  evtag_marshal(evbuf, RUN_FIXED_BYTES, tmp->fixed_bytes_data, (24));
  if (tmp->notes_set) {
    {
      int i;
      for (i = 0; i < tmp->notes_length; ++i) {
    evtag_marshal_string(evbuf, RUN_NOTES, tmp->notes_data[i]);
      }
    }
  }
  if (tmp->large_number_set) {
    evtag_marshal_int64(evbuf, RUN_LARGE_NUMBER, tmp->large_number_data);
  }
  if (tmp->other_numbers_set) {
    {
      int i;
      for (i = 0; i < tmp->other_numbers_length; ++i) {
    evtag_marshal_int(evbuf, RUN_OTHER_NUMBERS, tmp->other_numbers_data[i]);
      }
    }
  }
}
Ejemplo n.º 2
0
void
kill_marshal(struct evbuffer *evbuf, const struct kill *tmp){
  evtag_marshal_string(evbuf, KILL_WEAPON, tmp->weapon_data);
  evtag_marshal_string(evbuf, KILL_ACTION, tmp->action_data);
  if (tmp->how_often_set) {
    evtag_marshal_int(evbuf, KILL_HOW_OFTEN, tmp->how_often_data);
  }
}
Ejemplo n.º 3
0
void
msg_marshal(struct evbuffer *evbuf, const struct msg *tmp){
  evtag_marshal_string(evbuf, MSG_FROM_NAME, tmp->from_name_data);
  evtag_marshal_string(evbuf, MSG_TO_NAME, tmp->to_name_data);
  if (tmp->attack_set) {
    evtag_marshal_kill(evbuf, MSG_ATTACK, tmp->attack_data);
  }
  {
    int i;
    for (i = 0; i < tmp->run_length; ++i) {
      evtag_marshal_run(evbuf, MSG_RUN, tmp->run_data[i]);
    }
  }
}
Ejemplo n.º 4
0
void
run_marshal(struct evbuffer *evbuf, const struct run *tmp){
  evtag_marshal_string(evbuf, RUN_HOW, tmp->how_data);
  if (tmp->some_bytes_set) {
    evtag_marshal(evbuf, RUN_SOME_BYTES, tmp->some_bytes_data, tmp->some_bytes_length);
  }
  evtag_marshal(evbuf, RUN_FIXED_BYTES, tmp->fixed_bytes_data, sizeof(tmp->fixed_bytes_data));
}
Ejemplo n.º 5
0
static void
record_marshal(struct evbuffer *evbuf, struct record *record)
{
	struct evbuffer *addr = evbuffer_new();
	struct hash *hash;

	if (timerisset(&record->tv_start))
		evtag_marshal_timeval(evbuf, REC_TV_START, &record->tv_start);
	if (timerisset(&record->tv_end))
		evtag_marshal_timeval(evbuf, REC_TV_END, &record->tv_end);

	/* Encode an address */
	addr_marshal(addr, &record->src);
	evtag_marshal_buffer(evbuf, REC_SRC, addr);
	evbuffer_drain(addr, evbuffer_get_length(addr));

	addr_marshal(addr, &record->dst);
	evtag_marshal_buffer(evbuf, REC_DST, addr);
	evbuffer_drain(addr, evbuffer_get_length(addr));

	evtag_marshal_int(evbuf, REC_SRC_PORT, record->src_port);
	evtag_marshal_int(evbuf, REC_DST_PORT, record->dst_port);
	evtag_marshal_int(evbuf, REC_PROTO, record->proto);
	evtag_marshal_int(evbuf, REC_STATE, record->state);

	if (record->os_fp != NULL)
		evtag_marshal_string(evbuf, REC_OS_FP, record->os_fp);

	TAILQ_FOREACH(hash, &record->hashes, next)
	    evtag_marshal(evbuf, REC_HASH, hash->digest, sizeof(hash->digest));

	if (record->bytes)
		evtag_marshal_int(evbuf, REC_BYTES, record->bytes);
	if (record->flags)
		evtag_marshal_int(evbuf, REC_FLAGS, record->flags);

	evbuffer_free(addr);
}