Changeset b7fd2a0 in mainline for uspace/lib/bithenge/include
- Timestamp:
- 2018-01-13T03:10:29Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a53ed3a
- Parents:
- 36f0738
- Location:
- uspace/lib/bithenge/include/bithenge
- Files:
-
- 10 edited
-
blob.h (modified) (8 diffs)
-
compound.h (modified) (1 diff)
-
expression.h (modified) (3 diffs)
-
file.h (modified) (1 diff)
-
print.h (modified) (1 diff)
-
script.h (modified) (1 diff)
-
sequence.h (modified) (1 diff)
-
source.h (modified) (1 diff)
-
transform.h (modified) (4 diffs)
-
tree.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/bithenge/include/bithenge/blob.h
r36f0738 rb7fd2a0 53 53 typedef struct bithenge_random_access_blob_ops_t { 54 54 /** @copydoc bithenge_blob_t::bithenge_blob_size */ 55 int (*size)(bithenge_blob_t *self, aoff64_t *size);55 errno_t (*size)(bithenge_blob_t *self, aoff64_t *size); 56 56 /** @copydoc bithenge_blob_t::bithenge_blob_read */ 57 int (*read)(bithenge_blob_t *self, aoff64_t offset, char *buffer,57 errno_t (*read)(bithenge_blob_t *self, aoff64_t offset, char *buffer, 58 58 aoff64_t *size); 59 59 /** @copydoc bithenge_blob_t::bithenge_blob_read_bits */ 60 int (*read_bits)(bithenge_blob_t *self, aoff64_t offset, char *buffer,60 errno_t (*read_bits)(bithenge_blob_t *self, aoff64_t offset, char *buffer, 61 61 aoff64_t *size, bool little_endian); 62 62 /** Destroy the blob. … … 94 94 * @return EOK on success or an error code from errno.h. 95 95 */ 96 int (*size)(bithenge_sequential_blob_t *self, aoff64_t *size);96 errno_t (*size)(bithenge_sequential_blob_t *self, aoff64_t *size); 97 97 98 98 /** Read the next part of the blob. If the requested data extends … … 108 108 * @return EOK on success or an error code from errno.h. 109 109 */ 110 int (*read)(bithenge_sequential_blob_t *self, char *buffer,110 errno_t (*read)(bithenge_sequential_blob_t *self, char *buffer, 111 111 aoff64_t *size); 112 112 … … 123 123 * @return EOK on success or an error code from errno.h. 124 124 */ 125 static inline int bithenge_blob_size(bithenge_blob_t *self, aoff64_t *size)125 static inline errno_t bithenge_blob_size(bithenge_blob_t *self, aoff64_t *size) 126 126 { 127 127 assert(self); … … 145 145 * @return EOK on success or an error code from errno.h. 146 146 */ 147 static inline int bithenge_blob_read(bithenge_blob_t *self, aoff64_t offset,147 static inline errno_t bithenge_blob_read(bithenge_blob_t *self, aoff64_t offset, 148 148 char *buffer, aoff64_t *size) 149 149 { … … 173 173 * @return EOK on success or an error code from errno.h. 174 174 */ 175 static inline int bithenge_blob_read_bits(bithenge_blob_t *self,175 static inline errno_t bithenge_blob_read_bits(bithenge_blob_t *self, 176 176 aoff64_t offset, char *buffer, aoff64_t *size, bool little_endian) 177 177 { … … 190 190 * @param[out] out Holds whether the blob is empty. 191 191 * @return EOK on success or an error code from errno.h. */ 192 static inline int bithenge_blob_empty(bithenge_blob_t *self, bool *out)192 static inline errno_t bithenge_blob_empty(bithenge_blob_t *self, bool *out) 193 193 { 194 194 assert(self); 195 195 assert(self->base.blob_ops); 196 196 aoff64_t size; 197 int rc = bithenge_blob_size(self, &size);197 errno_t rc = bithenge_blob_size(self, &size); 198 198 *out = size == 0; 199 199 return rc; … … 235 235 236 236 /** @memberof bithenge_blob_t */ 237 int bithenge_init_random_access_blob(bithenge_blob_t *,237 errno_t bithenge_init_random_access_blob(bithenge_blob_t *, 238 238 const bithenge_random_access_blob_ops_t *); 239 239 /** @memberof bithenge_sequential_blob_t */ 240 int bithenge_init_sequential_blob(bithenge_sequential_blob_t *,240 errno_t bithenge_init_sequential_blob(bithenge_sequential_blob_t *, 241 241 const bithenge_sequential_blob_ops_t *); 242 242 /** @memberof bithenge_blob_t */ 243 int bithenge_new_blob_from_data(bithenge_node_t **, const void *, size_t);244 /** @memberof bithenge_blob_t */ 245 int bithenge_new_blob_from_buffer(bithenge_node_t **, const void *, size_t,243 errno_t bithenge_new_blob_from_data(bithenge_node_t **, const void *, size_t); 244 /** @memberof bithenge_blob_t */ 245 errno_t bithenge_new_blob_from_buffer(bithenge_node_t **, const void *, size_t, 246 246 bool); 247 int bithenge_new_offset_blob(bithenge_node_t **, bithenge_blob_t *, aoff64_t);248 int bithenge_new_subblob(bithenge_node_t **, bithenge_blob_t *, aoff64_t,247 errno_t bithenge_new_offset_blob(bithenge_node_t **, bithenge_blob_t *, aoff64_t); 248 errno_t bithenge_new_subblob(bithenge_node_t **, bithenge_blob_t *, aoff64_t, 249 249 aoff64_t); 250 250 /** @memberof bithenge_blob_t */ 251 int bithenge_blob_equal(bool *, bithenge_blob_t *, bithenge_blob_t *);251 errno_t bithenge_blob_equal(bool *, bithenge_blob_t *, bithenge_blob_t *); 252 252 253 253 #endif -
uspace/lib/bithenge/include/bithenge/compound.h
r36f0738 rb7fd2a0 41 41 #include "transform.h" 42 42 43 int bithenge_new_composed_transform(bithenge_transform_t **,43 errno_t bithenge_new_composed_transform(bithenge_transform_t **, 44 44 bithenge_transform_t **, size_t); 45 int bithenge_if_transform(bithenge_transform_t **, bithenge_expression_t *,45 errno_t bithenge_if_transform(bithenge_transform_t **, bithenge_expression_t *, 46 46 bithenge_transform_t *, bithenge_transform_t *); 47 int bithenge_partial_transform(bithenge_transform_t **,47 errno_t bithenge_partial_transform(bithenge_transform_t **, 48 48 bithenge_transform_t *); 49 49 -
uspace/lib/bithenge/include/bithenge/expression.h
r36f0738 rb7fd2a0 52 52 typedef struct bithenge_expression_ops { 53 53 /** @copydoc bithenge_expression_t::bithenge_expression_evaluate */ 54 int (*evaluate)(bithenge_expression_t *self, bithenge_scope_t *scope,54 errno_t (*evaluate)(bithenge_expression_t *self, bithenge_scope_t *scope, 55 55 bithenge_node_t **out); 56 56 /** Destroy the expression. … … 85 85 * @param[out] out Where the output tree will be stored. 86 86 * @return EOK on success or an error code from errno.h. */ 87 static inline int bithenge_expression_evaluate(bithenge_expression_t *self,87 static inline errno_t bithenge_expression_evaluate(bithenge_expression_t *self, 88 88 bithenge_scope_t *scope, bithenge_node_t **out) 89 89 { … … 117 117 } bithenge_binary_op_t; 118 118 119 int bithenge_init_expression(bithenge_expression_t *,119 errno_t bithenge_init_expression(bithenge_expression_t *, 120 120 const bithenge_expression_ops_t *); 121 int bithenge_binary_expression(bithenge_expression_t **, bithenge_binary_op_t,121 errno_t bithenge_binary_expression(bithenge_expression_t **, bithenge_binary_op_t, 122 122 bithenge_expression_t *, bithenge_expression_t *); 123 int bithenge_in_node_expression(bithenge_expression_t **);124 int bithenge_current_node_expression(bithenge_expression_t **);125 int bithenge_param_expression(bithenge_expression_t **, int);126 int bithenge_const_expression(bithenge_expression_t **, bithenge_node_t *);127 int bithenge_scope_member_expression(bithenge_expression_t **,123 errno_t bithenge_in_node_expression(bithenge_expression_t **); 124 errno_t bithenge_current_node_expression(bithenge_expression_t **); 125 errno_t bithenge_param_expression(bithenge_expression_t **, int); 126 errno_t bithenge_const_expression(bithenge_expression_t **, bithenge_node_t *); 127 errno_t bithenge_scope_member_expression(bithenge_expression_t **, 128 128 bithenge_node_t *); 129 int bithenge_subblob_expression(bithenge_expression_t **,129 errno_t bithenge_subblob_expression(bithenge_expression_t **, 130 130 bithenge_expression_t *, bithenge_expression_t *, bithenge_expression_t *, 131 131 bool); 132 int bithenge_param_wrapper(bithenge_transform_t **, bithenge_transform_t *,132 errno_t bithenge_param_wrapper(bithenge_transform_t **, bithenge_transform_t *, 133 133 bithenge_expression_t **); 134 int bithenge_expression_transform(bithenge_transform_t **,134 errno_t bithenge_expression_transform(bithenge_transform_t **, 135 135 bithenge_expression_t *); 136 int bithenge_inputless_transform(bithenge_transform_t **,136 errno_t bithenge_inputless_transform(bithenge_transform_t **, 137 137 bithenge_expression_t *); 138 138 139 int bithenge_concat_blob(bithenge_node_t **, bithenge_blob_t *,139 errno_t bithenge_concat_blob(bithenge_node_t **, bithenge_blob_t *, 140 140 bithenge_blob_t *); 141 int bithenge_concat_blob_lazy(bithenge_node_t **, bithenge_blob_t *,141 errno_t bithenge_concat_blob_lazy(bithenge_node_t **, bithenge_blob_t *, 142 142 bithenge_expression_t *, bithenge_scope_t *); 143 143 -
uspace/lib/bithenge/include/bithenge/file.h
r36f0738 rb7fd2a0 41 41 #include "blob.h" 42 42 43 int bithenge_new_file_blob(bithenge_node_t **, const char *);44 int bithenge_new_file_blob_from_fd(bithenge_node_t **, int);45 int bithenge_new_file_blob_from_file(bithenge_node_t **, FILE *);43 errno_t bithenge_new_file_blob(bithenge_node_t **, const char *); 44 errno_t bithenge_new_file_blob_from_fd(bithenge_node_t **, int); 45 errno_t bithenge_new_file_blob_from_file(bithenge_node_t **, FILE *); 46 46 47 47 #endif -
uspace/lib/bithenge/include/bithenge/print.h
r36f0738 rb7fd2a0 50 50 } bithenge_print_type_t; 51 51 52 int bithenge_print_node(bithenge_print_type_t, bithenge_node_t *);53 int bithenge_print_node_to_string(char **, size_t *, bithenge_print_type_t,52 errno_t bithenge_print_node(bithenge_print_type_t, bithenge_node_t *); 53 errno_t bithenge_print_node_to_string(char **, size_t *, bithenge_print_type_t, 54 54 bithenge_node_t *); 55 55 -
uspace/lib/bithenge/include/bithenge/script.h
r36f0738 rb7fd2a0 40 40 #include "transform.h" 41 41 42 int bithenge_parse_script(const char *, bithenge_transform_t **);42 errno_t bithenge_parse_script(const char *, bithenge_transform_t **); 43 43 44 44 #endif -
uspace/lib/bithenge/include/bithenge/sequence.h
r36f0738 rb7fd2a0 40 40 #include "transform.h" 41 41 42 int bithenge_new_struct(bithenge_transform_t **,42 errno_t bithenge_new_struct(bithenge_transform_t **, 43 43 bithenge_named_transform_t *); 44 int bithenge_repeat_transform(bithenge_transform_t **, bithenge_transform_t *,44 errno_t bithenge_repeat_transform(bithenge_transform_t **, bithenge_transform_t *, 45 45 bithenge_expression_t *); 46 int bithenge_do_while_transform(bithenge_transform_t **,46 errno_t bithenge_do_while_transform(bithenge_transform_t **, 47 47 bithenge_transform_t *, bithenge_expression_t *); 48 48 -
uspace/lib/bithenge/include/bithenge/source.h
r36f0738 rb7fd2a0 40 40 #include "tree.h" 41 41 42 int bithenge_node_from_source(bithenge_node_t **, const char *);42 errno_t bithenge_node_from_source(bithenge_node_t **, const char *); 43 43 44 44 #endif -
uspace/lib/bithenge/include/bithenge/transform.h
r36f0738 rb7fd2a0 76 76 typedef struct bithenge_transform_ops { 77 77 /** @copydoc bithenge_transform_t::bithenge_transform_apply */ 78 int (*apply)(bithenge_transform_t *self, bithenge_scope_t *scope,78 errno_t (*apply)(bithenge_transform_t *self, bithenge_scope_t *scope, 79 79 bithenge_node_t *in, bithenge_node_t **out); 80 80 /** @copydoc bithenge_transform_t::bithenge_transform_prefix_length */ 81 int (*prefix_length)(bithenge_transform_t *self,81 errno_t (*prefix_length)(bithenge_transform_t *self, 82 82 bithenge_scope_t *scope, bithenge_blob_t *blob, aoff64_t *out); 83 83 /** @copydoc bithenge_transform_t::bithenge_transform_prefix_apply */ 84 int (*prefix_apply)(bithenge_transform_t *self,84 errno_t (*prefix_apply)(bithenge_transform_t *self, 85 85 bithenge_scope_t *scope, bithenge_blob_t *blob, 86 86 bithenge_node_t **out_node, aoff64_t *out_size); … … 158 158 159 159 /** @memberof bithenge_transform_t */ 160 int bithenge_init_transform(bithenge_transform_t *,160 errno_t bithenge_init_transform(bithenge_transform_t *, 161 161 const bithenge_transform_ops_t *, int); 162 162 /** @memberof bithenge_transform_t */ 163 int bithenge_transform_apply(bithenge_transform_t *, bithenge_scope_t *,163 errno_t bithenge_transform_apply(bithenge_transform_t *, bithenge_scope_t *, 164 164 bithenge_node_t *, bithenge_node_t **); 165 165 /** @memberof bithenge_transform_t */ 166 int bithenge_transform_prefix_length(bithenge_transform_t *,166 errno_t bithenge_transform_prefix_length(bithenge_transform_t *, 167 167 bithenge_scope_t *, bithenge_blob_t *, aoff64_t *); 168 168 /** @memberof bithenge_transform_t */ 169 int bithenge_transform_prefix_apply(bithenge_transform_t *, bithenge_scope_t *,169 errno_t bithenge_transform_prefix_apply(bithenge_transform_t *, bithenge_scope_t *, 170 170 bithenge_blob_t *, bithenge_node_t **, aoff64_t *); 171 int bithenge_new_barrier_transform(bithenge_transform_t **, int);172 int bithenge_barrier_transform_set_subtransform(bithenge_transform_t *,171 errno_t bithenge_new_barrier_transform(bithenge_transform_t **, int); 172 errno_t bithenge_barrier_transform_set_subtransform(bithenge_transform_t *, 173 173 bithenge_transform_t *); 174 174 175 175 /** @memberof bithenge_scope_t */ 176 int bithenge_scope_new(bithenge_scope_t **, bithenge_scope_t *);176 errno_t bithenge_scope_new(bithenge_scope_t **, bithenge_scope_t *); 177 177 /** @memberof bithenge_scope_t */ 178 178 void bithenge_scope_dec_ref(bithenge_scope_t *); … … 182 182 const char *bithenge_scope_get_error(bithenge_scope_t *); 183 183 /** @memberof bithenge_scope_t */ 184 int bithenge_scope_error(bithenge_scope_t *, const char *, ...);184 errno_t bithenge_scope_error(bithenge_scope_t *, const char *, ...); 185 185 /** @memberof bithenge_scope_t */ 186 186 bithenge_node_t *bithenge_scope_get_current_node(bithenge_scope_t *); … … 196 196 bool bithenge_scope_is_barrier(bithenge_scope_t *); 197 197 /** @memberof bithenge_scope_t */ 198 int bithenge_scope_alloc_params(bithenge_scope_t *, int);199 /** @memberof bithenge_scope_t */ 200 int bithenge_scope_set_param(bithenge_scope_t *, int, bithenge_node_t *);201 /** @memberof bithenge_scope_t */ 202 int bithenge_scope_get_param(bithenge_scope_t *, int, bithenge_node_t **);198 errno_t bithenge_scope_alloc_params(bithenge_scope_t *, int); 199 /** @memberof bithenge_scope_t */ 200 errno_t bithenge_scope_set_param(bithenge_scope_t *, int, bithenge_node_t *); 201 /** @memberof bithenge_scope_t */ 202 errno_t bithenge_scope_get_param(bithenge_scope_t *, int, bithenge_node_t **); 203 203 204 204 #endif -
uspace/lib/bithenge/include/bithenge/tree.h
r36f0738 rb7fd2a0 81 81 * @param data Data provided to @a bithenge_node_t::bithenge_node_for_each. 82 82 * @return EOK on success or an error code from errno.h. */ 83 typedef int (*bithenge_for_each_func_t)(bithenge_node_t *key, bithenge_node_t *value, void *data);83 typedef errno_t (*bithenge_for_each_func_t)(bithenge_node_t *key, bithenge_node_t *value, void *data); 84 84 85 85 /** Operations providing access to an internal node. */ 86 86 typedef struct bithenge_internal_node_ops_t { 87 87 /** @copydoc bithenge_node_t::bithenge_node_for_each */ 88 int (*for_each)(bithenge_node_t *self, bithenge_for_each_func_t func, void *data);88 errno_t (*for_each)(bithenge_node_t *self, bithenge_for_each_func_t func, void *data); 89 89 /** @copydoc bithenge_node_t::bithenge_node_get */ 90 int (*get)(bithenge_node_t *self, bithenge_node_t *key,90 errno_t (*get)(bithenge_node_t *self, bithenge_node_t *key, 91 91 bithenge_node_t **out); 92 92 /** Destroys the internal node. … … 122 122 * @param data Data to provide to the callback function. 123 123 * @return EOK on success or an error code from errno.h. */ 124 static inline int bithenge_node_for_each(bithenge_node_t *self,124 static inline errno_t bithenge_node_for_each(bithenge_node_t *self, 125 125 bithenge_for_each_func_t func, void *data) 126 126 { … … 130 130 131 131 /** @memberof bithenge_node_t */ 132 int bithenge_node_get(bithenge_node_t *, bithenge_node_t *,132 errno_t bithenge_node_get(bithenge_node_t *, bithenge_node_t *, 133 133 bithenge_node_t **); 134 134 … … 164 164 165 165 /** @memberof bithenge_node_t */ 166 int bithenge_init_internal_node(bithenge_node_t *,166 errno_t bithenge_init_internal_node(bithenge_node_t *, 167 167 const bithenge_internal_node_ops_t *); 168 168 /** @memberof bithenge_node_t */ 169 int bithenge_new_empty_internal_node(bithenge_node_t **);169 errno_t bithenge_new_empty_internal_node(bithenge_node_t **); 170 170 /** @memberof bithenge_node_t */ 171 int bithenge_new_simple_internal_node(bithenge_node_t **, bithenge_node_t **,171 errno_t bithenge_new_simple_internal_node(bithenge_node_t **, bithenge_node_t **, 172 172 bithenge_int_t, bool needs_free); 173 173 /** @memberof bithenge_node_t */ 174 int bithenge_new_boolean_node(bithenge_node_t **, bool);174 errno_t bithenge_new_boolean_node(bithenge_node_t **, bool); 175 175 /** @memberof bithenge_node_t */ 176 int bithenge_new_integer_node(bithenge_node_t **, bithenge_int_t);176 errno_t bithenge_new_integer_node(bithenge_node_t **, bithenge_int_t); 177 177 /** @memberof bithenge_node_t */ 178 int bithenge_new_string_node(bithenge_node_t **, const char *, bool);178 errno_t bithenge_new_string_node(bithenge_node_t **, const char *, bool); 179 179 /** @memberof bithenge_node_t */ 180 int bithenge_node_equal(bool *, bithenge_node_t *, bithenge_node_t *);180 errno_t bithenge_node_equal(bool *, bithenge_node_t *, bithenge_node_t *); 181 181 182 182 #endif
Note:
See TracChangeset
for help on using the changeset viewer.
