X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fsn_stage.h;h=ee7d376cd5441ac779c4970b6e94b24fefda2532;hb=ebc1cf4a81e547c0cc239470ba76452a31fec572;hp=4a57f5ea0f01fac5726bb0bfcb43902ac85c286c;hpb=8e4a1e11b964e446370df12fbc2d072eb31a7fda;p=sort-networks.git diff --git a/src/sn_stage.h b/src/sn_stage.h index 4a57f5e..ee7d376 100644 --- a/src/sn_stage.h +++ b/src/sn_stage.h @@ -1,6 +1,6 @@ /** * collectd - src/sn_stage.h - * Copyright (C) 2008 Florian octo Forster + * Copyright (C) 2008-2010 Florian octo Forster * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -16,7 +16,7 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * * Authors: - * Florian octo Forster + * Florian octo Forster **/ #ifndef SN_STAGE_H @@ -48,12 +48,15 @@ sn_stage_t *sn_stage_create (int depth); sn_stage_t *sn_stage_clone (const sn_stage_t *s); void sn_stage_destroy (sn_stage_t *s); +int sn_stage_sort (sn_stage_t *s, int *values); + int sn_stage_comparator_add (sn_stage_t *s, const sn_comparator_t *c); int sn_stage_comparator_remove (sn_stage_t *s, int c_num); int sn_stage_comparator_check_conflict (sn_stage_t *s, const sn_comparator_t *c); int sn_stage_show (sn_stage_t *s); int sn_stage_invert (sn_stage_t *s); +int sn_stage_shift (sn_stage_t *s, int sw, int inputs_num); int sn_stage_swap (sn_stage_t *s, int con0, int con1); int sn_stage_cut_at (sn_stage_t *s, int input, enum sn_network_cut_dir_e dir); int sn_stage_remove_input (sn_stage_t *s, int input); @@ -61,6 +64,10 @@ int sn_stage_remove_input (sn_stage_t *s, int input); sn_stage_t *sn_stage_read (FILE *fh); int sn_stage_write (sn_stage_t *s, FILE *fh); +int sn_stage_serialize (sn_stage_t *s, + char **ret_buffer, size_t *ret_buffer_size); +sn_stage_t *sn_stage_unserialize (char **buffer, size_t *buffer_size); + #endif /* SN_STAGE_H */ /* vim: set shiftwidth=2 softtabstop=2 : */