{-# LINE 1 "System/AugeasHsc.hsc" #-} -- file: Augeas.hsc {-# LINE 2 "System/AugeasHsc.hsc" #-} -- Haskell bindings for the Augeas library -- Copyright (c) 2009-2012, Jude Nagurney -- This library is free software; you can redistribute it and/or modify it -- under the terms of the GNU Lesser General Public License as published by -- the Free Software Foundation; either version 3 of the License, or -- (at your option) any later version. -- This library 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 Lesser General Public -- License for more details. -- You should have received a copy of the GNU Lesser General Public License -- along with this library; if not, write to the Free Software Foundation, -- Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -- -- Contact the author at -- jude@pwan.org {-# LANGUAGE CPP, ForeignFunctionInterface, EmptyDataDecls, StandaloneDeriving #-} {-# LINE 30 "System/AugeasHsc.hsc" #-} module System.AugeasHsc where import Foreign.C.Types import Foreign.Storable {-# LINE 37 "System/AugeasHsc.hsc" #-} -- ---------------------------------- -- Maps to aug_flags enum in augeas.h -- ---------------------------------- newtype AugFlag = AugFlag { unAugFlag :: CInt } deriving (Eq, Show) none :: AugFlag none = AugFlag 0 save_backup :: AugFlag save_backup = AugFlag 1 save_newfile :: AugFlag save_newfile = AugFlag 2 type_check :: AugFlag type_check = AugFlag 4 no_stdinc :: AugFlag no_stdinc = AugFlag 8 save_noop :: AugFlag save_noop = AugFlag 16 no_load :: AugFlag no_load = AugFlag 32 no_modl_autoload :: AugFlag no_modl_autoload = AugFlag 64 enable_span :: AugFlag enable_span = AugFlag 128 {-# LINE 59 "System/AugeasHsc.hsc" #-} -- --------------------------------- -- Maps to auf_errcode_t in augeas.h -- --------------------------------- newtype AugErrCode = AugErrCode { unAugErrCode :: CInt } deriving (Eq, Show) no_error :: AugErrCode no_error = AugErrCode 0 err_no_memory :: AugErrCode err_no_memory = AugErrCode 1 err_internal :: AugErrCode err_internal = AugErrCode 2 err_bad_path :: AugErrCode err_bad_path = AugErrCode 3 err_no_match :: AugErrCode err_no_match = AugErrCode 4 err_multi_matches :: AugErrCode err_multi_matches = AugErrCode 5 err_syntax :: AugErrCode err_syntax = AugErrCode 6 err_no_lens :: AugErrCode err_no_lens = AugErrCode 7 err_multi_xfm :: AugErrCode err_multi_xfm = AugErrCode 8 err_no_span :: AugErrCode err_no_span = AugErrCode 9 err_mv_desc :: AugErrCode err_mv_desc = AugErrCode 10 err_cmd_run :: AugErrCode err_cmd_run = AugErrCode 11 err_bad_arg :: AugErrCode err_bad_arg = AugErrCode 12 {-# LINE 88 "System/AugeasHsc.hsc" #-} data AugeasXmlNode {-# LINE 92 "System/AugeasHsc.hsc" #-} {-# LINE 93 "System/AugeasHsc.hsc" #-} {-# LINE 94 "System/AugeasHsc.hsc" #-} instance Storable AugeasXmlNode where alignment _ = 8 {-# LINE 97 "System/AugeasHsc.hsc" #-} sizeOf _ = (120) {-# LINE 98 "System/AugeasHsc.hsc" #-} -- peek ptr = do -- _type <- #{peek xmlNode, type} ptr -- name <- #{peek xmlNode, name} ptr -- children <- #{peek xmlNode, children} ptr -- last <- #{peek xmlNode, last} ptr -- parent <- #{peek xmlNode, parent} ptr -- next <- #{peek xmlNode, next} ptr -- prev <- #{peek xmlNode, prev} ptr -- doc <- #{peek xmlNode, doc} ptr -- return (XmlNode _type name children last parent next prev doc) -- return (XmlNode _type name ) -- poke ptr (XmlNode _type name children last parent next prev doc) = do -- poke ptr (XmlNode _type name) = do -- #{poke xmlNode, type} ptr _type -- #{poke xmlNode, name} ptr name