X-Git-Url: http://git.tuebingen.mpg.de/?p=dss.git;a=blobdiff_plain;f=snap.h;h=b9659aeb0784a92744ea5b3a95d37ad3908aafd4;hp=23fdb287dd76acdb2398b899fd7584e629a8a6be;hb=5083502f5fbe2d2b427451aff54c0cdc1831d7c0;hpb=a0f94cd06ebb0c5967f564d9c52411cbd5347c0e diff --git a/snap.h b/snap.h index 23fdb28..b9659ae 100644 --- a/snap.h +++ b/snap.h @@ -1,32 +1,32 @@ /* - * Copyright (C) 2008 Andre Noll + * Copyright (C) 2008-2010 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ + /** The possible states for snapshot creation/removal. */ -enum hook_status { - /** We are ready to take the next snapshot. */ - HS_READY, - /** The pre-create/pre-remove hook has been started. */ - HS_PRE_RUNNING, - /** The pre-create/pre-remove hook exited successfully. */ - HS_PRE_SUCCESS, - /** The rsync/rm process is running. */ - HS_RUNNING, - /** The rsync/rm process exited successfully. */ - HS_SUCCESS, - /** The rsync/rm process needs to be restarted. */ - HS_NEEDS_RESTART, - /** The post-create/post-remove hook has been started. */ - HS_POST_RUNNING, -}; +#define HOOK_STATUS_ARRAY \ + HSA_ITEM(HS_READY, "ready for action"), \ + HSA_ITEM(HS_PRE_RUNNING, "pre-hook running"), \ + HSA_ITEM(HS_PRE_SUCCESS, "pre-hook completed successfully"), \ + HSA_ITEM(HS_RUNNING, "in progress"), \ + HSA_ITEM(HS_SUCCESS, "process terminated successfully"), \ + HSA_ITEM(HS_NEEDS_RESTART, "restart needed"), \ + HSA_ITEM(HS_POST_RUNNING, "post-hook running"), \ + + +#define HSA_ITEM(x, y) x +enum hook_status {HOOK_STATUS_ARRAY}; +#undef HSA_ITEM +#define HSA_ITEM(x, y) [x] = y + /** * The status of a snapshot. * * The snapshot directories come in four different flavours, depending - * on how the two staus flags are set. Examples: + * on how the two status flags are set. Examples: * * Complete, not being deleted: 1204565370-1204565371.Sun_Mar_02_2008_14_33-Sun_Mar_02_2008_14_43. * Complete, being deleted: 1204565370-1204565371.being_deleted. @@ -48,7 +48,7 @@ struct snapshot { int64_t creation_time; /** * Seconds after the epoch when creation of this snapshot completed. - * Only meaningful if the SS_COMPLTE bit is set. + * Only meaningful if the SS_COMPLETE bit is set. */ int64_t completion_time; /** See \ref snapshot_status_flags. */