X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=snapshot.h;h=959a5090ecf318d0242191cf954b61788d55a660;hp=8d35e174c8468f19654ee36bbdefa9f5476526c3;hb=aa4112670b37f2ca1cd64a63337575d45e0d7f36;hpb=5cb5a6ffc33667c93e9bc3572534dcaa684046e3 diff --git a/snapshot.h b/snapshot.h index 8d35e174c..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 "name.h" +#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 NameVTable snapshot_vtable; +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