X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=snapshot.h;h=959a5090ecf318d0242191cf954b61788d55a660;hp=563af41293360a82558defd58aa070a884aee991;hb=cb8a8f78a11cedb8cba1abfa9a63b0d3ea8eef93;hpb=87f0e418cf2c58b3201d06a60e3696ec672d2662 diff --git a/snapshot.h b/snapshot.h index 563af4129..959a5090e 100644 --- a/snapshot.h +++ b/snapshot.h @@ -3,22 +3,50 @@ #ifndef foosnapshothfoo #define foosnapshothfoo +/*** + This file is part of systemd. + + Copyright 2010 Lennart Poettering + + systemd is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + systemd is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with systemd; If not, see . +***/ + typedef struct Snapshot Snapshot; #include "unit.h" typedef enum SnapshotState { SNAPSHOT_DEAD, - SNAPSHOT_ACTIVE + SNAPSHOT_ACTIVE, + _SNAPSHOT_STATE_MAX, + _SNAPSHOT_STATE_INVALID = -1 } SnapshotState; struct Snapshot { Meta meta; - SnapshotState state; - bool cleanup:1; + SnapshotState state, deserialized_state; + + bool cleanup; }; extern const UnitVTable snapshot_vtable; +int snapshot_create(Manager *m, const char *name, bool cleanup, Snapshot **s); +void snapshot_remove(Snapshot *s); + +const char* snapshot_state_to_string(SnapshotState i); +SnapshotState snapshot_state_from_string(const char *s); + #endif