void init_unicode_argument(struct argument* arg, unicode_string_t* us) { if (us && us->length) init_argument(arg, ARGUMENT_STRING, us->length, us->contents); else init_int_argument(arg, 0); }
int add_integer_argument(struct privd_instance *privd, uint32_t value) { size_t size = sizeof(uint32_t); struct privd_arghdr *arghdr = init_argument(privd, PRIVD_ARG_INTEGER, size); if(arghdr == NULL) return -1; (*(uint32_t *)arghdr->data) = htonl(value); return 0; }
int add_string_argument(struct privd_instance *privd, const char *string) { size_t size = strlen(string) + 1; struct privd_arghdr *arghdr = init_argument(privd, PRIVD_ARG_STRING, size); if(arghdr == NULL) return -1; strcpy((char *)arghdr->data, string); return 0; }