27 DRANGE_NODE_END_T_UNINITIALIZED,
28 DRANGE_NODE_END_T_LENGTH,
29 DRANGE_NODE_END_T_OFFSET,
30 DRANGE_NODE_END_T_TO_THE_END
37 drange_node_end_t ending;
42 bool has_total_length;
52drange_node* drange_node_from_str(
const char *range_str,
char **err_ptr);
58void drange_node_free_list(GSList* list);
61int drange_node_get_start_offset(
drange_node* drnode);
64drange_node_end_t drange_node_get_ending(
drange_node* drnode);
67void drange_node_set_start_offset(
drange_node* drnode,
int offset);
68void drange_node_set_length(
drange_node* drnode,
int length);
69void drange_node_set_end_offset(
drange_node* drnode,
int offset);
70void drange_node_set_to_the_end(
drange_node* drnode);
74drange_t * drange_new_from_list(GSList *list);
83bool drange_has_total_length(
drange_t* dr);
84int drange_get_total_length(
drange_t* dr);
85int drange_get_min_start_offset(
drange_t* dr);
86int drange_get_max_start_offset(
drange_t* dr);
91void drange_foreach_drange_node(
drange_t* dr, GFunc func,
void *funcdata);
95char *drange_tostr(
const drange_t *dr);