From 5ea77a75dd2d2158401331879f3c8f47940a732c Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 18:35:32 +0200 Subject: Adding upstream version 2.5.13+dfsg. Signed-off-by: Daniel Baumann --- include/lutil_meter.h | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 include/lutil_meter.h (limited to 'include/lutil_meter.h') diff --git a/include/lutil_meter.h b/include/lutil_meter.h new file mode 100644 index 0000000..66105fa --- /dev/null +++ b/include/lutil_meter.h @@ -0,0 +1,70 @@ +/* lutil_meter.h - progress meters */ +/* $OpenLDAP$ */ +/* This work is part of OpenLDAP Software . + * + * Copyright (c) 2009 by Emily Backes, Symas Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted only as authorized by the OpenLDAP + * Public License. + * + * A copy of this license is available in the file LICENSE in the + * top-level directory of the distribution or, alternatively, at + * . + */ +/* ACKNOWLEDGEMENTS: + * This work was initially developed by Emily Backes for inclusion + * in OpenLDAP software. + */ + +#ifndef _LUTIL_METER_H +#define _LUTIL_METER_H + +#include "portable.h" + +#include +#include +#include + +#include +#include + +typedef struct { + int (*display_open) (void **datap); + int (*display_update) (void **datap, double frac, time_t remaining_time, time_t elapsed, double byte_rate); + int (*display_close) (void **datap); +} lutil_meter_display_t; + +typedef struct { + int (*estimator_open) (void **datap); + int (*estimator_update) (void **datap, double start, double frac, time_t *remaining_time); + int (*estimator_close) (void **datap); +} lutil_meter_estimator_t; + +typedef struct { + const lutil_meter_display_t *display; + void * display_data; + const lutil_meter_estimator_t *estimator; + void * estimator_data; + double start_time; + double last_update; + size_t goal_value; + size_t last_position; +} lutil_meter_t; + +extern const lutil_meter_display_t lutil_meter_text_display; +extern const lutil_meter_estimator_t lutil_meter_linear_estimator; + +extern int lutil_meter_open ( + lutil_meter_t *lutil_meter, + const lutil_meter_display_t *display, + const lutil_meter_estimator_t *estimator, + size_t goal_value); +extern int lutil_meter_update ( + lutil_meter_t *lutil_meter, + size_t position, + int force); +extern int lutil_meter_close (lutil_meter_t *lutil_meter); + +#endif /* _LUTIL_METER_H */ -- cgit v1.2.3