00001 /* 00002 Copyright (C) 2011 Computer Sciences Department, 00003 University of Wisconsin -- Madison 00004 00005 ---------------------------------------------------------------------- 00006 00007 This file is part of Mnemosyne: Lightweight Persistent Memory, 00008 originally developed at the University of Wisconsin -- Madison. 00009 00010 Mnemosyne was originally developed primarily by Haris Volos 00011 with contributions from Andres Jaan Tack. 00012 00013 ---------------------------------------------------------------------- 00014 00015 Mnemosyne is free software; you can redistribute it and/or 00016 modify it under the terms of the GNU General Public License 00017 as published by the Free Software Foundation, version 2 00018 of the License. 00019 00020 Mnemosyne is distributed in the hope that it will be useful, 00021 but WITHOUT ANY WARRANTY; without even the implied warranty of 00022 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00023 GNU General Public License for more details. 00024 00025 You should have received a copy of the GNU General Public License 00026 along with this program; if not, write to the Free Software 00027 Foundation, Inc., 51 Franklin Street, Fifth Floor, 00028 Boston, MA 02110-1301, USA. 00029 00030 ### END HEADER ### 00031 */ 00032 00058 #ifndef _MODE_H_891AKK 00059 #define _MODE_H_891AKK 00060 00061 00062 # define FOREACH_MODE(ACTION) \ 00063 ACTION(pwbnl) \ 00064 ACTION(pwbetl) 00065 00066 00067 typedef enum { 00068 MTM_MODE_none = -1, 00069 MTM_MODE_pwbnl = 0, 00070 MTM_MODE_pwbetl = 1, 00071 MTM_NUM_MODES 00072 } mtm_mode_t; 00073 00074 /* This type is private to the STM implementation. */ 00075 struct mtm_mode_data_s; 00076 00077 typedef struct mtm_mode_data_s mtm_mode_data_t; 00078 00079 mtm_mode_t mtm_str2mode(char *str); 00080 char *mtm_mode2str(mtm_mode_t mode); 00081 00082 #endif /* _MODE_H_891AKK */