static int mailimap_id_params_list_send(mailstream * fd, struct mailimap_id_params_list * list) { int r; if ((list == NULL) || (clist_count(list->idpa_list) == 0)) { r = mailimap_token_send(fd, "NIL"); if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; } r = mailimap_oparenth_send(fd); if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_struct_spaced_list_send(fd, list->idpa_list, (mailimap_struct_sender *) mailimap_id_param_send); if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_cparenth_send(fd); if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; }
int mailimap_sort_key_send(mailstream * fd, struct mailimap_sort_key * key) { int r; if (key->sortk_is_reverse) { r = mailimap_token_send(fd, "REVERSE"); if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_space_send(fd); if (r != MAILIMAP_NO_ERROR) return r; } switch (key->sortk_type) { case MAILIMAP_SORT_KEY_ARRIVAL: return mailimap_token_send(fd, "ARRIVAL"); case MAILIMAP_SORT_KEY_CC: return mailimap_token_send(fd, "CC"); case MAILIMAP_SORT_KEY_DATE: return mailimap_token_send(fd, "DATE"); case MAILIMAP_SORT_KEY_FROM: return mailimap_token_send(fd, "FROM"); case MAILIMAP_SORT_KEY_SIZE: return mailimap_token_send(fd, "SIZE"); case MAILIMAP_SORT_KEY_SUBJECT: return mailimap_token_send(fd, "SUBJECT"); case MAILIMAP_SORT_KEY_TO: return mailimap_token_send(fd, "TO"); case MAILIMAP_SORT_KEY_MULTIPLE: r = mailimap_struct_spaced_list_send(fd, key->sortk_multiple, (mailimap_struct_sender *) mailimap_sort_key_send); return MAILIMAP_NO_ERROR; default: /* should not happend */ return MAILIMAP_ERROR_INVAL; } }
static int mailimap_id_params_list_send(mailstream * fd, struct mailimap_id_params_list * list) { int r; r = mailimap_oparenth_send(fd); if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_struct_spaced_list_send(fd, list->idpa_list, (mailimap_struct_sender *) mailimap_id_param_send); if (r != MAILIMAP_NO_ERROR) return r; r = mailimap_cparenth_send(fd); if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; }
static int mailimap_msg_att_xgmlabels_send(mailstream * fd, struct mailimap_msg_att_xgmlabels * labels) { int r; r = mailimap_oparenth_send(fd); if (r != MAILIMAP_NO_ERROR) return r; if (labels->att_labels != NULL) { r = mailimap_struct_spaced_list_send(fd, labels->att_labels, (mailimap_struct_sender *) mailimap_astring_send); if (r != MAILIMAP_NO_ERROR) return r; } r = mailimap_cparenth_send(fd); if (r != MAILIMAP_NO_ERROR) return r; return MAILIMAP_NO_ERROR; }
static int mailimap_capability_data_send(mailstream * fd, struct mailimap_capability_data * capabilities) { return mailimap_struct_spaced_list_send(fd, capabilities->cap_list, (mailimap_struct_sender *) mailimap_capability_info_send); }