\hypertarget{geom_8h_source}{}\doxysection{geom.\+h}
\label{geom_8h_source}\index{geom/geom.h@{geom/geom.h}}
\mbox{\hyperlink{geom_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00001}00001 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00002}00002 \textcolor{comment}{ * SPDX-\/License-\/Identifier: BSD-\/3-\/Clause}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00003}00003 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00004}00004 \textcolor{comment}{ * Copyright (c) 2002 Poul-\/Henning Kamp}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00005}00005 \textcolor{comment}{ * Copyright (c) 2002 Networks Associates Technology, Inc.}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00006}00006 \textcolor{comment}{ * All rights reserved.}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00007}00007 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00008}00008 \textcolor{comment}{ * This software was developed for the FreeBSD Project by Poul-\/Henning Kamp}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00009}00009 \textcolor{comment}{ * and NAI Labs, the Security Research Division of Network Associates, Inc.}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00010}00010 \textcolor{comment}{ * under DARPA/SPAWAR contract N66001-\/01-\/C-\/8035 ("{}CBOSS"{}), as part of the}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00011}00011 \textcolor{comment}{ * DARPA CHATS research program.}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00012}00012 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00013}00013 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00014}00014 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00015}00015 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00016}00016 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00017}00017 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00018}00018 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00019}00019 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00020}00020 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00021}00021 \textcolor{comment}{ * 3. The names of the authors may not be used to endorse or promote}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00022}00022 \textcolor{comment}{ *    products derived from this software without specific prior written}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00023}00023 \textcolor{comment}{ *    permission.}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00024}00024 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00025}00025 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00026}00026 \textcolor{comment}{ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00027}00027 \textcolor{comment}{ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00028}00028 \textcolor{comment}{ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00029}00029 \textcolor{comment}{ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00030}00030 \textcolor{comment}{ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00031}00031 \textcolor{comment}{ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00032}00032 \textcolor{comment}{ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00033}00033 \textcolor{comment}{ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00034}00034 \textcolor{comment}{ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00035}00035 \textcolor{comment}{ * SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00036}00036 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00037}00037 \textcolor{comment}{ * \$FreeBSD\$}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00038}00038 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00039}00039 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00040}00040 \textcolor{preprocessor}{\#ifndef \_GEOM\_GEOM\_H\_}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00041}00041 \textcolor{preprocessor}{\#define \_GEOM\_GEOM\_H\_}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00042}00042 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00043}00043 \textcolor{preprocessor}{\#include <sys/lock.h>}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00044}00044 \textcolor{preprocessor}{\#include <sys/mutex.h>}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00045}00045 \textcolor{preprocessor}{\#include <sys/sx.h>}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00046}00046 \textcolor{preprocessor}{\#include <sys/queue.h>}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00047}00047 \textcolor{preprocessor}{\#include <sys/ioccom.h>}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00048}00048 \textcolor{preprocessor}{\#include <sys/conf.h>}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00049}00049 \textcolor{preprocessor}{\#include <sys/module.h>}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00050}00050 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00051}00051 \textcolor{keyword}{struct }\mbox{\hyperlink{structg__class}{g\_class}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00052}00052 \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00053}00053 \textcolor{keyword}{struct }\mbox{\hyperlink{structg__consumer}{g\_consumer}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00054}00054 \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00055}00055 \textcolor{keyword}{struct }g\_stat;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00056}00056 \textcolor{keyword}{struct }thread;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00057}00057 \textcolor{keyword}{struct }bio;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00058}00058 \textcolor{keyword}{struct }sbuf;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00059}00059 \textcolor{keyword}{struct }\mbox{\hyperlink{structgctl__req}{gctl\_req}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00060}00060 \textcolor{keyword}{struct }g\_configargs;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00061}00061 \textcolor{keyword}{struct }disk\_zone\_args;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00062}00062 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00063}\mbox{\hyperlink{geom_8h_af0028b9be08295f91a7ba14e580b4160}{00063}} \textcolor{keyword}{typedef} \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_af0028b9be08295f91a7ba14e580b4160}{g\_config\_t}} (\textcolor{keyword}{struct} g\_configargs *ca);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00064}\mbox{\hyperlink{geom_8h_a98129532a3f4d0845714f8b272b9da8a}{00064}} \textcolor{keyword}{typedef} \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a98129532a3f4d0845714f8b272b9da8a}{g\_ctl\_req\_t}} (\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__class}{g\_class}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \textcolor{keywordtype}{char} \textcolor{keyword}{const} *verb);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00065}\mbox{\hyperlink{geom_8h_a62e8fc8f5f3eee36f6f3de074fe744e6}{00065}} \textcolor{keyword}{typedef} \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a62e8fc8f5f3eee36f6f3de074fe744e6}{g\_ctl\_create\_geom\_t}} (\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__class}{g\_class}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00066}\mbox{\hyperlink{geom_8h_a2baa59f23394427341e5311df530abb1}{00066}} \textcolor{keyword}{typedef} \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a2baa59f23394427341e5311df530abb1}{g\_ctl\_destroy\_geom\_t}} (\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__class}{g\_class}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00067}\mbox{\hyperlink{geom_8h_a80ff1fa5f7d3e5dfa5c83fd6418d1f83}{00067}} \textcolor{keyword}{typedef} \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a80ff1fa5f7d3e5dfa5c83fd6418d1f83}{g\_ctl\_config\_geom\_t}} (\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *verb);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00068}\mbox{\hyperlink{geom_8h_a09dc421fa3e0bcccdf6ba9154976971d}{00068}} \textcolor{keyword}{typedef} \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a09dc421fa3e0bcccdf6ba9154976971d}{g\_init\_t}} (\textcolor{keyword}{struct} \mbox{\hyperlink{structg__class}{g\_class}} *\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00069}\mbox{\hyperlink{geom_8h_a68776dca1cdc8d9d0da8c47635295b51}{00069}} \textcolor{keyword}{typedef} \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a68776dca1cdc8d9d0da8c47635295b51}{g\_fini\_t}} (\textcolor{keyword}{struct} \mbox{\hyperlink{structg__class}{g\_class}} *\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00070}\mbox{\hyperlink{geom_8h_a631656592e7bd0d9b508904254e8e7a7}{00070}} \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} * \mbox{\hyperlink{geom_8h_a631656592e7bd0d9b508904254e8e7a7}{g\_taste\_t}} (\textcolor{keyword}{struct} \mbox{\hyperlink{structg__class}{g\_class}} *, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}} *, \textcolor{keywordtype}{int} \mbox{\hyperlink{structg__geom_afa218bd6b4ead71e6238ecd0577e1cc9}{flags}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00071}\mbox{\hyperlink{geom_8h_a4e861d65dc955326d8a286b98c17b65a}{00071}} \textcolor{keyword}{typedef} \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a4e861d65dc955326d8a286b98c17b65a}{g\_ioctl\_t}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, u\_long \mbox{\hyperlink{g__part__if_8m_ab932f62e09484cd3ce109f3db9d8f3ce}{cmd}}, \textcolor{keywordtype}{void} *\mbox{\hyperlink{g__part__if_8m_a735984d41155bc1032e09bece8f8d66d}{data}}, \textcolor{keywordtype}{int} \mbox{\hyperlink{g__part__if_8m_aab9e30d72b4b6af02ce19b24422ad2ce}{fflag}}, \textcolor{keyword}{struct} thread *\mbox{\hyperlink{g__part__if_8m_aaf840c84d139bb8ad4b3e668c92b3c30}{td}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00072}\mbox{\hyperlink{geom_8h_aa13cef0383cca792e23f709e7f81912b}{00072}} \textcolor{preprocessor}{\#define G\_TF\_NORMAL             0}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00073}\mbox{\hyperlink{geom_8h_af26b193113467026d4a035d4cbc81134}{00073}} \textcolor{preprocessor}{\#define G\_TF\_INSIST             1}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00074}\mbox{\hyperlink{geom_8h_a2085ab6fbc64f0967719a57b7833c50f}{00074}} \textcolor{preprocessor}{\#define G\_TF\_TRANSPARENT        2}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00075}\mbox{\hyperlink{geom_8h_a68544c65a4d728ce733305aeba2f335b}{00075}} \textcolor{keyword}{typedef} \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a68544c65a4d728ce733305aeba2f335b}{g\_access\_t}} (\textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}} *, \textcolor{keywordtype}{int}, \textcolor{keywordtype}{int}, \textcolor{keywordtype}{int});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00076}00076 \textcolor{comment}{/* XXX: not sure about the thread arg */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00077}\mbox{\hyperlink{geom_8h_aa5c4a4aeb29f435dd74719b92e830c89}{00077}} \textcolor{keyword}{typedef} \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_aa5c4a4aeb29f435dd74719b92e830c89}{g\_orphan\_t}} (\textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00078}00078 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00079}\mbox{\hyperlink{geom_8h_a2a6559adb145f83df6a58cfbc2be6759}{00079}} \textcolor{keyword}{typedef} \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a2a6559adb145f83df6a58cfbc2be6759}{g\_start\_t}} (\textcolor{keyword}{struct} bio *);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00080}\mbox{\hyperlink{geom_8h_a753663c8f49c698ad63740b64c0df94b}{00080}} \textcolor{keyword}{typedef} \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a753663c8f49c698ad63740b64c0df94b}{g\_spoiled\_t}} (\textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00081}\mbox{\hyperlink{geom_8h_aae813a41ec23d0be57f351fe47193fa8}{00081}} \textcolor{keyword}{typedef} \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_aae813a41ec23d0be57f351fe47193fa8}{g\_attrchanged\_t}} (\textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *attr);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00082}\mbox{\hyperlink{geom_8h_a3a6311aa5fd2115a78308461aa54ab29}{00082}} \textcolor{keyword}{typedef} \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a3a6311aa5fd2115a78308461aa54ab29}{g\_provgone\_t}} (\textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}} *);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00083}\mbox{\hyperlink{geom_8h_afdb390a9279523d96cb700a712939f76}{00083}} \textcolor{keyword}{typedef} \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_afdb390a9279523d96cb700a712939f76}{g\_dumpconf\_t}} (\textcolor{keyword}{struct} sbuf *, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__geom}{g\_geom}} *,}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00084}00084     \textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}} *);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00085}\mbox{\hyperlink{geom_8h_a3c5b058637985c6eb4ef8d442e69e173}{00085}} \textcolor{keyword}{typedef} \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a3c5b058637985c6eb4ef8d442e69e173}{g\_resize\_t}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00086}00086 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00087}00087 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00088}00088 \textcolor{comment}{ * The g\_class structure describes a transformation class.  In other words}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00089}00089 \textcolor{comment}{ * all BSD disklabel handlers share one g\_class, all MBR handlers share}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00090}00090 \textcolor{comment}{ * one common g\_class and so on.}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00091}00091 \textcolor{comment}{ * Certain operations are instantiated on the class, most notably the}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00092}00092 \textcolor{comment}{ * taste and config\_geom functions.}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00093}00093 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00094}\mbox{\hyperlink{structg__class}{00094}} \textcolor{keyword}{struct }\mbox{\hyperlink{structg__class}{g\_class}} \{}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00095}\mbox{\hyperlink{structg__class_a66bf8381cf0afbf7ccdebfa6b90a4a96}{00095}}         \textcolor{keyword}{const} \textcolor{keywordtype}{char}              *\mbox{\hyperlink{structg__class_a66bf8381cf0afbf7ccdebfa6b90a4a96}{name}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00096}\mbox{\hyperlink{structg__class_abcffc562f08e704b19b6920b209cd3e8}{00096}}         u\_int                   \mbox{\hyperlink{structg__class_abcffc562f08e704b19b6920b209cd3e8}{version}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00097}\mbox{\hyperlink{structg__class_a6b46d34d01e85ba43550b0cfd9357458}{00097}}         u\_int                   \mbox{\hyperlink{structg__class_a6b46d34d01e85ba43550b0cfd9357458}{spare0}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00098}\mbox{\hyperlink{structg__class_a4c163062505e43a01d04cee211cfa56d}{00098}}         \mbox{\hyperlink{geom_8h_a631656592e7bd0d9b508904254e8e7a7}{g\_taste\_t}}              *\mbox{\hyperlink{structg__class_a4c163062505e43a01d04cee211cfa56d}{taste}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00099}\mbox{\hyperlink{structg__class_ad1e14cd32f35102453e3230531f6f06b}{00099}}         \mbox{\hyperlink{geom_8h_a98129532a3f4d0845714f8b272b9da8a}{g\_ctl\_req\_t}}          *\mbox{\hyperlink{structg__class_ad1e14cd32f35102453e3230531f6f06b}{ctlreq}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00100}\mbox{\hyperlink{structg__class_aaf3460618ea28985ac408fd1144c2f37}{00100}}         \mbox{\hyperlink{geom_8h_a09dc421fa3e0bcccdf6ba9154976971d}{g\_init\_t}}                *\mbox{\hyperlink{structg__class_aaf3460618ea28985ac408fd1144c2f37}{init}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00101}\mbox{\hyperlink{structg__class_a5d97d51667e91ed7effa217ee6f3df08}{00101}}         \mbox{\hyperlink{geom_8h_a68776dca1cdc8d9d0da8c47635295b51}{g\_fini\_t}}                *\mbox{\hyperlink{structg__class_a5d97d51667e91ed7effa217ee6f3df08}{fini}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00102}\mbox{\hyperlink{structg__class_a41bf509b46d8940d24fa10e553b321b0}{00102}}         \mbox{\hyperlink{geom_8h_a2baa59f23394427341e5311df530abb1}{g\_ctl\_destroy\_geom\_t}}        *\mbox{\hyperlink{structg__class_a41bf509b46d8940d24fa10e553b321b0}{destroy\_geom}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00103}00103         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00104}00104 \textcolor{comment}{         * Default values for geom methods}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00105}00105 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00106}\mbox{\hyperlink{structg__class_a30133f3091cb1f35a1199b4ca6f9a27e}{00106}}         \mbox{\hyperlink{geom_8h_a2a6559adb145f83df6a58cfbc2be6759}{g\_start\_t}}              *\mbox{\hyperlink{structg__class_a30133f3091cb1f35a1199b4ca6f9a27e}{start}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00107}\mbox{\hyperlink{structg__class_aa7002c5f98eeaf922569f04a1178cfe2}{00107}}         \mbox{\hyperlink{geom_8h_a753663c8f49c698ad63740b64c0df94b}{g\_spoiled\_t}}          *\mbox{\hyperlink{structg__class_aa7002c5f98eeaf922569f04a1178cfe2}{spoiled}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00108}\mbox{\hyperlink{structg__class_a745eec93faf02127982b958d79f0d6ec}{00108}}         \mbox{\hyperlink{geom_8h_aae813a41ec23d0be57f351fe47193fa8}{g\_attrchanged\_t}}          *\mbox{\hyperlink{structg__class_a745eec93faf02127982b958d79f0d6ec}{attrchanged}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00109}\mbox{\hyperlink{structg__class_a6979a0f89315460f8fbd79c37254f7ca}{00109}}         \mbox{\hyperlink{geom_8h_afdb390a9279523d96cb700a712939f76}{g\_dumpconf\_t}}                *\mbox{\hyperlink{structg__class_a6979a0f89315460f8fbd79c37254f7ca}{dumpconf}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00110}\mbox{\hyperlink{structg__class_ae2e6d36186ad114ba77ba046703a0ed0}{00110}}         \mbox{\hyperlink{geom_8h_a68544c65a4d728ce733305aeba2f335b}{g\_access\_t}}            *\mbox{\hyperlink{structg__class_ae2e6d36186ad114ba77ba046703a0ed0}{access}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00111}\mbox{\hyperlink{structg__class_ab8ba9cd6a8de2e106ab647dc52369306}{00111}}         \mbox{\hyperlink{geom_8h_aa5c4a4aeb29f435dd74719b92e830c89}{g\_orphan\_t}}            *\mbox{\hyperlink{structg__class_ab8ba9cd6a8de2e106ab647dc52369306}{orphan}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00112}\mbox{\hyperlink{structg__class_a34c4ef2210b3ecd7304ba4060b28d2e8}{00112}}         \mbox{\hyperlink{geom_8h_a4e861d65dc955326d8a286b98c17b65a}{g\_ioctl\_t}}              *\mbox{\hyperlink{structg__class_a34c4ef2210b3ecd7304ba4060b28d2e8}{ioctl}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00113}\mbox{\hyperlink{structg__class_ade4cd8cf9088c6be45e760fe5ec7d8cf}{00113}}         \mbox{\hyperlink{geom_8h_a3a6311aa5fd2115a78308461aa54ab29}{g\_provgone\_t}}                *\mbox{\hyperlink{structg__class_ade4cd8cf9088c6be45e760fe5ec7d8cf}{providergone}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00114}\mbox{\hyperlink{structg__class_a0cc929c457b3e2f4211e92107da497fb}{00114}}         \mbox{\hyperlink{geom_8h_a3c5b058637985c6eb4ef8d442e69e173}{g\_resize\_t}}            *\mbox{\hyperlink{structg__class_a0cc929c457b3e2f4211e92107da497fb}{resize}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00115}\mbox{\hyperlink{structg__class_a740ef1e6485520eceb177739d404577a}{00115}}         \textcolor{keywordtype}{void}                    *\mbox{\hyperlink{structg__class_a740ef1e6485520eceb177739d404577a}{spare1}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00116}\mbox{\hyperlink{structg__class_ad6717165884468f9971dbb462ca40849}{00116}}         \textcolor{keywordtype}{void}                    *\mbox{\hyperlink{structg__class_ad6717165884468f9971dbb462ca40849}{spare2}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00117}00117         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00118}00118 \textcolor{comment}{         * The remaining elements are private}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00119}00119 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00120}\mbox{\hyperlink{structg__class_adcecd1579494df1cb8bb25a94c7b1dee}{00120}}         \mbox{\hyperlink{structg__class_adcecd1579494df1cb8bb25a94c7b1dee}{LIST\_ENTRY}}(\mbox{\hyperlink{structg__class}{g\_class}})    \textcolor{keyword}{class};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00121}\mbox{\hyperlink{structg__class_a2e085dbed88263b25fae14bad2423c71}{00121}}         \mbox{\hyperlink{structg__class_a2e085dbed88263b25fae14bad2423c71}{LIST\_HEAD}}(,\mbox{\hyperlink{structg__geom}{g\_geom}})       geom;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00122}00122 \};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00123}00123 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00124}\mbox{\hyperlink{geom_8h_aeaebce5cc8292c4568faada0c96a9f7f}{00124}} \textcolor{preprocessor}{\#define G\_VERSION\_00    0x19950323}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00125}\mbox{\hyperlink{geom_8h_a65c015390562ae23e9d3fe0559d98333}{00125}} \textcolor{preprocessor}{\#define G\_VERSION\_01    0x20041207      }\textcolor{comment}{/* add fflag to g\_ioctl\_t */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00126}\mbox{\hyperlink{geom_8h_a33025dbc893de9dc049ba2f30283bc5a}{00126}} \textcolor{preprocessor}{\#define G\_VERSION       G\_VERSION\_01}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00127}00127 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00128}00128 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00129}00129 \textcolor{comment}{ * The g\_geom is an instance of a g\_class.}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00130}00130 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00131}\mbox{\hyperlink{structg__geom}{00131}} \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} \{}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00132}\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{00132}}         \textcolor{keywordtype}{char}                    *\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00133}\mbox{\hyperlink{structg__geom_a502c2ffb3c41ad9d30d9875c678f5404}{00133}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__class}{g\_class}}           *\textcolor{keyword}{class};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00134}\mbox{\hyperlink{structg__geom_a1ad090c1c2659b2ad588fbae269c2344}{00134}}         \mbox{\hyperlink{structg__geom_a1ad090c1c2659b2ad588fbae269c2344}{LIST\_ENTRY}}(\mbox{\hyperlink{structg__geom}{g\_geom}})      geom;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00135}\mbox{\hyperlink{structg__geom_a91bc3783f3b21bb0d7f5317d5eb3fb33}{00135}}         \mbox{\hyperlink{structg__geom_a91bc3783f3b21bb0d7f5317d5eb3fb33}{LIST\_HEAD}}(,\mbox{\hyperlink{structg__consumer}{g\_consumer}})       consumer;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00136}\mbox{\hyperlink{structg__geom_a7e0e25932a84b89bd5d1720489e6c92f}{00136}}         \mbox{\hyperlink{structg__geom_a7e0e25932a84b89bd5d1720489e6c92f}{LIST\_HEAD}}(,\mbox{\hyperlink{structg__provider}{g\_provider}})       provider;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00137}\mbox{\hyperlink{structg__geom_a62a6e5ca00dc180952a886077d63a0cf}{00137}}         \mbox{\hyperlink{structg__geom_a62a6e5ca00dc180952a886077d63a0cf}{TAILQ\_ENTRY}}(\mbox{\hyperlink{structg__geom}{g\_geom}})    \mbox{\hyperlink{geom__subr_8c_a46afd7e514069d2122b480a7004a2183}{geoms}};     \textcolor{comment}{/* XXX: better name */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00138}\mbox{\hyperlink{structg__geom_a6e00f814c9e37ee129d5d456d0379576}{00138}}         \textcolor{keywordtype}{int}                     \mbox{\hyperlink{structg__geom_a6e00f814c9e37ee129d5d456d0379576}{rank}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00139}\mbox{\hyperlink{structg__geom_a160a0c74f128936d97064e56052dc2ef}{00139}}         \mbox{\hyperlink{geom_8h_a2a6559adb145f83df6a58cfbc2be6759}{g\_start\_t}}              *\mbox{\hyperlink{structg__geom_a160a0c74f128936d97064e56052dc2ef}{start}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00140}\mbox{\hyperlink{structg__geom_a0a74cfab0860e32fcfd20a3846b401a7}{00140}}         \mbox{\hyperlink{geom_8h_a753663c8f49c698ad63740b64c0df94b}{g\_spoiled\_t}}          *\mbox{\hyperlink{structg__geom_a0a74cfab0860e32fcfd20a3846b401a7}{spoiled}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00141}\mbox{\hyperlink{structg__geom_aaf308efdb8f8acc73e5226bb5dc5eb77}{00141}}         \mbox{\hyperlink{geom_8h_aae813a41ec23d0be57f351fe47193fa8}{g\_attrchanged\_t}}          *\mbox{\hyperlink{structg__geom_aaf308efdb8f8acc73e5226bb5dc5eb77}{attrchanged}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00142}\mbox{\hyperlink{structg__geom_a5944d44b6aba36f1a37c67f020b5588b}{00142}}         \mbox{\hyperlink{geom_8h_afdb390a9279523d96cb700a712939f76}{g\_dumpconf\_t}}                *\mbox{\hyperlink{structg__geom_a5944d44b6aba36f1a37c67f020b5588b}{dumpconf}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00143}\mbox{\hyperlink{structg__geom_aea05083928dcabdb4d343c6b9ee71cbd}{00143}}         \mbox{\hyperlink{geom_8h_a68544c65a4d728ce733305aeba2f335b}{g\_access\_t}}            *\mbox{\hyperlink{structg__geom_aea05083928dcabdb4d343c6b9ee71cbd}{access}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00144}\mbox{\hyperlink{structg__geom_a67386b3b9a49233eca9f73d28bc70325}{00144}}         \mbox{\hyperlink{geom_8h_aa5c4a4aeb29f435dd74719b92e830c89}{g\_orphan\_t}}            *\mbox{\hyperlink{structg__geom_a67386b3b9a49233eca9f73d28bc70325}{orphan}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00145}\mbox{\hyperlink{structg__geom_a02ab46814c26aefa16d3f41c8084b2f7}{00145}}         \mbox{\hyperlink{geom_8h_a4e861d65dc955326d8a286b98c17b65a}{g\_ioctl\_t}}              *\mbox{\hyperlink{structg__geom_a02ab46814c26aefa16d3f41c8084b2f7}{ioctl}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00146}\mbox{\hyperlink{structg__geom_a842875d4b907e89095317950653c4510}{00146}}         \mbox{\hyperlink{geom_8h_a3a6311aa5fd2115a78308461aa54ab29}{g\_provgone\_t}}                *\mbox{\hyperlink{structg__geom_a842875d4b907e89095317950653c4510}{providergone}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00147}\mbox{\hyperlink{structg__geom_a409b63ae6b13027cd858840933685987}{00147}}         \mbox{\hyperlink{geom_8h_a3c5b058637985c6eb4ef8d442e69e173}{g\_resize\_t}}            *\mbox{\hyperlink{structg__geom_a409b63ae6b13027cd858840933685987}{resize}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00148}\mbox{\hyperlink{structg__geom_a1cdf2f06fd12ba9c771fbe848c3ccd93}{00148}}         \textcolor{keywordtype}{void}                    *\mbox{\hyperlink{structg__geom_a1cdf2f06fd12ba9c771fbe848c3ccd93}{spare0}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00149}\mbox{\hyperlink{structg__geom_ab6fc21413c4c60e1fe83963f2cac30f8}{00149}}         \textcolor{keywordtype}{void}                    *\mbox{\hyperlink{structg__geom_ab6fc21413c4c60e1fe83963f2cac30f8}{spare1}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00150}\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{00150}}         \textcolor{keywordtype}{void}                    *\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00151}\mbox{\hyperlink{structg__geom_afa218bd6b4ead71e6238ecd0577e1cc9}{00151}}         \textcolor{keywordtype}{unsigned}                \mbox{\hyperlink{structg__geom_afa218bd6b4ead71e6238ecd0577e1cc9}{flags}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00152}\mbox{\hyperlink{geom_8h_ac5e457264b1579081f1d544c1eceb256}{00152}} \textcolor{preprocessor}{\#define G\_GEOM\_WITHER           0x01}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00153}\mbox{\hyperlink{geom_8h_aef91738a9019f4ab58b8f8f5eafdbcae}{00153}} \textcolor{preprocessor}{\#define G\_GEOM\_VOLATILE\_BIO     0x02}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00154}\mbox{\hyperlink{geom_8h_a2332646caac994c29ab6d72681dbc0d1}{00154}} \textcolor{preprocessor}{\#define G\_GEOM\_IN\_ACCESS        0x04}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00155}\mbox{\hyperlink{geom_8h_a4ab91afa50ace9531304ec5325bffd28}{00155}} \textcolor{preprocessor}{\#define G\_GEOM\_ACCESS\_WAIT      0x08}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00156}00156 \};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00157}00157 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00158}00158 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00159}00159 \textcolor{comment}{ * The g\_bioq is a queue of struct bio's.}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00160}00160 \textcolor{comment}{ * XXX: possibly collection point for statistics.}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00161}00161 \textcolor{comment}{ * XXX: should (possibly) be collapsed with sys/bio.h::bio\_queue\_head.}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00162}00162 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00163}\mbox{\hyperlink{structg__bioq}{00163}} \textcolor{keyword}{struct }\mbox{\hyperlink{structg__bioq}{g\_bioq}} \{}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00164}\mbox{\hyperlink{structg__bioq_a0f913536d2ef30073681ab39f79ec4cb}{00164}}         \mbox{\hyperlink{structg__bioq_a0f913536d2ef30073681ab39f79ec4cb}{TAILQ\_HEAD}}(, bio)     bio\_queue;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00165}\mbox{\hyperlink{structg__bioq_adcb62ab1dec42229108fd25588e4b493}{00165}}         \textcolor{keyword}{struct }mtx              \mbox{\hyperlink{structg__bioq_adcb62ab1dec42229108fd25588e4b493}{bio\_queue\_lock}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00166}\mbox{\hyperlink{structg__bioq_ad3cc2bf5b7743d0daa3720a55c876c6f}{00166}}         \textcolor{keywordtype}{int}                     \mbox{\hyperlink{structg__bioq_ad3cc2bf5b7743d0daa3720a55c876c6f}{bio\_queue\_length}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00167}00167 \};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00168}00168 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00169}00169 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00170}00170 \textcolor{comment}{ * A g\_consumer is an attachment point for a g\_provider.  One g\_consumer}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00171}00171 \textcolor{comment}{ * can only be attached to one g\_provider, but multiple g\_consumers}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00172}00172 \textcolor{comment}{ * can be attached to one g\_provider.}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00173}00173 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00174}00174 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00175}\mbox{\hyperlink{structg__consumer}{00175}} \textcolor{keyword}{struct }\mbox{\hyperlink{structg__consumer}{g\_consumer}} \{}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00176}\mbox{\hyperlink{structg__consumer_a75734fc8cd22ffc4209c36cc0a459cba}{00176}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}}             *\mbox{\hyperlink{structg__consumer_a75734fc8cd22ffc4209c36cc0a459cba}{geom}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00177}\mbox{\hyperlink{structg__consumer_a51ca6e44e645a3e243d4cbfff35c5684}{00177}}         \mbox{\hyperlink{structg__consumer_a51ca6e44e645a3e243d4cbfff35c5684}{LIST\_ENTRY}}(\mbox{\hyperlink{structg__consumer}{g\_consumer}})      consumer;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00178}\mbox{\hyperlink{structg__consumer_a6435d5aec0376e995dce3131fd3beb52}{00178}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}}     *\mbox{\hyperlink{structg__consumer_a6435d5aec0376e995dce3131fd3beb52}{provider}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00179}\mbox{\hyperlink{structg__consumer_a35561bbcf1f68e02cfafa3df7663568f}{00179}}         \mbox{\hyperlink{structg__consumer_a35561bbcf1f68e02cfafa3df7663568f}{LIST\_ENTRY}}(\mbox{\hyperlink{structg__consumer}{g\_consumer}})      consumers;      \textcolor{comment}{/* XXX: better name */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00180}\mbox{\hyperlink{structg__consumer_ace7a7f6859bd4cf00ff910bda08bb05a}{00180}}         \textcolor{keywordtype}{int}                     \mbox{\hyperlink{structg__consumer_a40c3b377327dc07731eaf19340004033}{acr}}, \mbox{\hyperlink{structg__consumer_a28f563df0299e7e1ab9a1121b6e483eb}{acw}}, \mbox{\hyperlink{structg__consumer_ace7a7f6859bd4cf00ff910bda08bb05a}{ace}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00181}\mbox{\hyperlink{structg__consumer_acf792357913c0445233b71f8259764d9}{00181}}         \textcolor{keywordtype}{int}                     \mbox{\hyperlink{structg__consumer_acf792357913c0445233b71f8259764d9}{flags}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00182}\mbox{\hyperlink{geom_8h_a7c0b1d1794c56f2b063cb66786b19eff}{00182}} \textcolor{preprocessor}{\#define G\_CF\_SPOILED            0x1}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00183}\mbox{\hyperlink{geom_8h_aa8d4509af5fac49cbddf72c37146bb77}{00183}} \textcolor{preprocessor}{\#define G\_CF\_ORPHAN             0x4}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00184}\mbox{\hyperlink{geom_8h_a712586d00e1fe2a8069adfc048fee210}{00184}} \textcolor{preprocessor}{\#define G\_CF\_DIRECT\_SEND        0x10}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00185}\mbox{\hyperlink{geom_8h_a2184f2512ddb7a67ddbb71409cdd953f}{00185}} \textcolor{preprocessor}{\#define G\_CF\_DIRECT\_RECEIVE     0x20}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00186}\mbox{\hyperlink{structg__consumer_adb9344ae8135d6d1b28a01ff5fe7bc3c}{00186}}         \textcolor{keyword}{struct }devstat          *\mbox{\hyperlink{structg__consumer_adb9344ae8135d6d1b28a01ff5fe7bc3c}{stat}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00187}\mbox{\hyperlink{structg__consumer_acafd47028c17e8ad45325cde2602dc31}{00187}}         u\_int                   \mbox{\hyperlink{structg__consumer_a9de6b132beb6c47863410407b6674197}{nstart}}, \mbox{\hyperlink{structg__consumer_acafd47028c17e8ad45325cde2602dc31}{nend}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00188}00188 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00189}00189         \textcolor{comment}{/* Two fields for the implementing class to use */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00190}\mbox{\hyperlink{structg__consumer_a11273c1281d0cffbc3383eb4e49e7010}{00190}}         \textcolor{keywordtype}{void}                    *\textcolor{keyword}{private};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00191}\mbox{\hyperlink{structg__consumer_a0bd70ab96dc6a56c4e0db0608af9c9a4}{00191}}         u\_int                   \mbox{\hyperlink{structg__consumer_a0bd70ab96dc6a56c4e0db0608af9c9a4}{index}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00192}00192 \};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00193}00193 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00194}00194 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00195}00195 \textcolor{comment}{ * The g\_geom\_alias is a list node for aliases for the provider name for device}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00196}00196 \textcolor{comment}{ * node creation.}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00197}00197 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00198}\mbox{\hyperlink{structg__geom__alias}{00198}} \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom__alias}{g\_geom\_alias}} \{}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00199}\mbox{\hyperlink{structg__geom__alias_ada88dffa600d408a5bfbcccbf64caa6e}{00199}}         \mbox{\hyperlink{structg__geom__alias_ada88dffa600d408a5bfbcccbf64caa6e}{LIST\_ENTRY}}(\mbox{\hyperlink{structg__geom__alias}{g\_geom\_alias}}) ga\_next;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00200}\mbox{\hyperlink{structg__geom__alias_ae11849a176b7dadc248ec9231ba2a992}{00200}}         \textcolor{keyword}{const} \textcolor{keywordtype}{char}              *\mbox{\hyperlink{structg__geom__alias_ae11849a176b7dadc248ec9231ba2a992}{ga\_alias}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00201}00201 \};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00202}00202 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00203}00203 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00204}00204 \textcolor{comment}{ * A g\_provider is a "{}logical disk"{}.}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00205}00205 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00206}\mbox{\hyperlink{structg__provider}{00206}} \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} \{}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00207}\mbox{\hyperlink{structg__provider_a2bffb416ee58cf4df7839c6fd5ec004a}{00207}}         \textcolor{keywordtype}{char}                    *\mbox{\hyperlink{structg__provider_a2bffb416ee58cf4df7839c6fd5ec004a}{name}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00208}\mbox{\hyperlink{structg__provider_a400ef1b9ef2473918e069f92d3cc9916}{00208}}         \mbox{\hyperlink{structg__provider_a400ef1b9ef2473918e069f92d3cc9916}{LIST\_ENTRY}}(\mbox{\hyperlink{structg__provider}{g\_provider}})      provider;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00209}\mbox{\hyperlink{structg__provider_afe5c92b8a2a9e4cdf1cab6daa96923c1}{00209}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}}             *\mbox{\hyperlink{structg__provider_afe5c92b8a2a9e4cdf1cab6daa96923c1}{geom}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00210}\mbox{\hyperlink{structg__provider_aa95041fd557ca10e4bbccb5cbb47b684}{00210}}         \mbox{\hyperlink{structg__provider_aa95041fd557ca10e4bbccb5cbb47b684}{LIST\_HEAD}}(,\mbox{\hyperlink{structg__consumer}{g\_consumer}})       consumers;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00211}\mbox{\hyperlink{structg__provider_ae46b0f6e935dcb33a2a06556dbcbeb4c}{00211}}         \textcolor{keywordtype}{int}                     \mbox{\hyperlink{structg__provider_a62d7db6055318331bae725b44d58c140}{acr}}, \mbox{\hyperlink{structg__provider_abc6824f999ce8b17107d833c908c83e6}{acw}}, \mbox{\hyperlink{structg__provider_ae46b0f6e935dcb33a2a06556dbcbeb4c}{ace}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00212}\mbox{\hyperlink{structg__provider_acacf1ee18cb6edbcfedc185846696e7f}{00212}}         \textcolor{keywordtype}{int}                     \mbox{\hyperlink{structg__provider_acacf1ee18cb6edbcfedc185846696e7f}{error}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00213}\mbox{\hyperlink{structg__provider_a515e7884a7f5b28dee4eeeeba4f85050}{00213}}         \mbox{\hyperlink{structg__provider_a515e7884a7f5b28dee4eeeeba4f85050}{TAILQ\_ENTRY}}(\mbox{\hyperlink{structg__provider}{g\_provider}})    \mbox{\hyperlink{structg__geom_a67386b3b9a49233eca9f73d28bc70325}{orphan}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00214}\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{00214}}         off\_t                   \mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00215}\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{00215}}         u\_int                   \mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00216}\mbox{\hyperlink{structg__provider_a0ae62d15d2436a80825accbdb3cd6149}{00216}}         off\_t                   \mbox{\hyperlink{structg__provider_a0ae62d15d2436a80825accbdb3cd6149}{stripesize}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00217}\mbox{\hyperlink{structg__provider_ac6baefca9562013cb451aee0a665e378}{00217}}         off\_t                   \mbox{\hyperlink{structg__provider_ac6baefca9562013cb451aee0a665e378}{stripeoffset}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00218}\mbox{\hyperlink{structg__provider_a5748aca46ccb3c74434a4b605338e1d2}{00218}}         \textcolor{keyword}{struct }devstat          *\mbox{\hyperlink{structg__provider_a5748aca46ccb3c74434a4b605338e1d2}{stat}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00219}\mbox{\hyperlink{structg__provider_a867578550fa4be5d434fe8c3f30b16f9}{00219}}         u\_int                   \mbox{\hyperlink{structg__provider_a867578550fa4be5d434fe8c3f30b16f9}{spare1}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00220}\mbox{\hyperlink{structg__provider_a0d3e7bd8b3ff3ad00d1637380794aa4f}{00220}}         u\_int                   \mbox{\hyperlink{structg__provider_a0d3e7bd8b3ff3ad00d1637380794aa4f}{spare2}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00221}\mbox{\hyperlink{structg__provider_a2d2060ee918007b601780f93a39c30de}{00221}}         u\_int                   \mbox{\hyperlink{structg__provider_a2d2060ee918007b601780f93a39c30de}{flags}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00222}\mbox{\hyperlink{geom_8h_a88eb435bc94fddd2ab0a79ee7f7ae95c}{00222}} \textcolor{preprocessor}{\#define G\_PF\_WITHER             0x2}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00223}\mbox{\hyperlink{geom_8h_a91dc9e9d833286af1245a508852db3aa}{00223}} \textcolor{preprocessor}{\#define G\_PF\_ORPHAN             0x4}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00224}\mbox{\hyperlink{geom_8h_a82547ff81813e6e37dd57c36e530c7e2}{00224}} \textcolor{preprocessor}{\#define G\_PF\_ACCEPT\_UNMAPPED    0x8}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00225}\mbox{\hyperlink{geom_8h_a486656f757680c7ff0c7ca06b643eb2d}{00225}} \textcolor{preprocessor}{\#define G\_PF\_DIRECT\_SEND        0x10}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00226}\mbox{\hyperlink{geom_8h_a36e660dabad70e0fd2439be3ddca8d47}{00226}} \textcolor{preprocessor}{\#define G\_PF\_DIRECT\_RECEIVE     0x20}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00227}\mbox{\hyperlink{structg__provider_a380d5aed3b9c5f6675a4da3b2fc83e3a}{00227}}         \mbox{\hyperlink{structg__provider_a380d5aed3b9c5f6675a4da3b2fc83e3a}{LIST\_HEAD}}(,\mbox{\hyperlink{structg__geom__alias}{g\_geom\_alias}}) aliases;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00228}00228 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00229}00229         \textcolor{comment}{/* Two fields for the implementing class to use */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00230}\mbox{\hyperlink{structg__provider_a5516d1ee51e75b228f047f827f46431b}{00230}}         \textcolor{keywordtype}{void}                    *\textcolor{keyword}{private};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00231}\mbox{\hyperlink{structg__provider_af66d4470c5f372fdc0f71d66a65542be}{00231}}         u\_int                   \mbox{\hyperlink{structg__provider_af66d4470c5f372fdc0f71d66a65542be}{index}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00232}00232 \};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00233}00233 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00234}00234 \textcolor{comment}{/* BIO\_GETATTR("{}GEOM::setstate"{}) argument values. */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00235}\mbox{\hyperlink{geom_8h_abb48dc76f4f4949c5eb3ec95d4b86ea1}{00235}} \textcolor{preprocessor}{\#define G\_STATE\_FAILED          0}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00236}\mbox{\hyperlink{geom_8h_a05c3f0c009654bc6a40870d2aed55728}{00236}} \textcolor{preprocessor}{\#define G\_STATE\_REBUILD         1}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00237}\mbox{\hyperlink{geom_8h_ae32e54332bccb2a49b20ff369d8d2dd4}{00237}} \textcolor{preprocessor}{\#define G\_STATE\_RESYNC          2}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00238}\mbox{\hyperlink{geom_8h_ad2718215d050d0e068fa33ea31508455}{00238}} \textcolor{preprocessor}{\#define G\_STATE\_ACTIVE          3}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00239}00239 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00240}00240 \textcolor{comment}{/* geom\_dev.c */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00241}00241 \textcolor{keyword}{struct }cdev;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00242}00242 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a60487eb322a94afd4041a1ffd43b946e}{g\_dev\_print}}(\textcolor{keywordtype}{void});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00243}\mbox{\hyperlink{geom_8h_a8822bbe5779c04869b11dc13686d2042}{00243}} \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a8822bbe5779c04869b11dc13686d2042}{g\_dev\_physpath\_changed}}(\textcolor{keywordtype}{void});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00244}00244 \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{geom_8h_a1d9b8b20a3f4f0ce02bbbfca3fede177}{g\_dev\_getprovider}}(\textcolor{keyword}{struct} cdev *dev);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00245}00245 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00246}00246 \textcolor{comment}{/* geom\_dump.c */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00247}\mbox{\hyperlink{geom_8h_a8fc6f6b69a34bd31b18c5f285106d087}{00247}} void (\mbox{\hyperlink{geom_8h_a7588d7ea7fbf7180b345df84b8797166}{g\_trace}})(\textcolor{keywordtype}{int} level, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *, ...) \_\_printflike(2, 3);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00248}\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{00248}} \textcolor{preprocessor}{\#define G\_T\_TOPOLOGY            0x01}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00249}\mbox{\hyperlink{geom_8h_a38d9a04b6d890b00e0ecf00497314c0c}{00249}} \textcolor{preprocessor}{\#define G\_T\_BIO                 0x02}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00250}\mbox{\hyperlink{geom_8h_a22c18e8b25a4cc916d2f8a063bca0a56}{00250}} \textcolor{preprocessor}{\#define G\_T\_ACCESS              0x04}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00251}00251 \textcolor{keyword}{extern} \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_aca9e9300747035c84977158ea1fe1d38}{g\_debugflags}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00252}\mbox{\hyperlink{geom_8h_ac5335e69a9ab03862196e80d4e2c5af8}{00252}} \textcolor{preprocessor}{\#define G\_F\_FOOTSHOOTING        0x10}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00253}\mbox{\hyperlink{geom_8h_acc8a53d03ed8d1d04a898f0ad41ec6ac}{00253}} \textcolor{preprocessor}{\#define G\_F\_DISKIOCTL           0x40}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00254}\mbox{\hyperlink{geom_8h_a5d83d7ea202ca46c04a50d5eb41a64ce}{00254}} \textcolor{preprocessor}{\#define G\_F\_CTLDUMP             0x80}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00255}\mbox{\hyperlink{geom_8h_a7588d7ea7fbf7180b345df84b8797166}{00255}} \textcolor{preprocessor}{\#define g\_trace(level, fmt, ...) do \{                           \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00256}00256 \textcolor{preprocessor}{        if (\_\_predict\_false(g\_debugflags \& (level)))            \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00257}00257 \textcolor{preprocessor}{                (g\_trace)(level, fmt, \#\# \_\_VA\_ARGS\_\_);          \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00258}00258 \textcolor{preprocessor}{\} while (0)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00259}00259 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00260}00260 \textcolor{comment}{/* geom\_event.c */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00261}\mbox{\hyperlink{geom_8h_a488919575b661093744e30ee67278218}{00261}} \textcolor{keyword}{typedef} \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a488919575b661093744e30ee67278218}{g\_event\_t}}(\textcolor{keywordtype}{void} *, \textcolor{keywordtype}{int} flag);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00262}00262 \textcolor{keyword}{struct }g\_event;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00263}\mbox{\hyperlink{geom_8h_afd5164d1355b481a911bb285baf4bc82}{00263}} \textcolor{preprocessor}{\#define EV\_CANCEL       1}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00264}00264 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a196998b2923eb556355a617daaef1879}{g\_post\_event}}(\mbox{\hyperlink{geom_8h_a488919575b661093744e30ee67278218}{g\_event\_t}} *func, \textcolor{keywordtype}{void} *arg, \textcolor{keywordtype}{int} flag, ...);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00265}00265 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a098098146ac4f2ca5efa831ee5f248ae}{g\_waitfor\_event}}(\mbox{\hyperlink{geom_8h_a488919575b661093744e30ee67278218}{g\_event\_t}} *func, \textcolor{keywordtype}{void} *arg, \textcolor{keywordtype}{int} flag, ...);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00266}00266 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a3671f3c7fc5dbdd70514c2e2ad07feda}{g\_cancel\_event}}(\textcolor{keywordtype}{void} *ref);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00267}00267 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a1f372937bd8491ddbfe2ec80a7b69610}{g\_attr\_changed}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *attr, \textcolor{keywordtype}{int} flag);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00268}00268 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a5f0e8b927a159f0129cd1bae6efe3c77}{g\_media\_changed}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, \textcolor{keywordtype}{int} flag);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00269}00269 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_af4b7408deae8a68a18b073444d5b4929}{g\_media\_gone}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, \textcolor{keywordtype}{int} flag);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00270}00270 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_afe6fbcc9c1057df62ee768fc2a97ef26}{g\_orphan\_provider}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, \textcolor{keywordtype}{int} error);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00271}00271 \textcolor{keyword}{struct }g\_event *\mbox{\hyperlink{geom_8h_a2786a5bd64de1c7797827afe5784a292}{g\_alloc\_event}}(\textcolor{keywordtype}{int} flag);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00272}00272 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a8094697ec8a17fd596f0436f1fd1fd62}{g\_post\_event\_ep}}(\mbox{\hyperlink{geom_8h_a488919575b661093744e30ee67278218}{g\_event\_t}} *func, \textcolor{keywordtype}{void} *arg, \textcolor{keyword}{struct} g\_event *ep, ...);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00273}00273 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00274}00274 \textcolor{comment}{/* geom\_subr.c */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00275}00275 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a27b7c72cc3bc5a4d07ce5976e1aa1b58}{g\_access}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \textcolor{keywordtype}{int} nread, \textcolor{keywordtype}{int} nwrite, \textcolor{keywordtype}{int} nexcl);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00276}00276 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a7f6ee69db47bae6ff5284f6a9cfceb91}{g\_attach}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00277}00277 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_aa938569bc5b975d490103a88a5cfcb02}{g\_compare\_names}}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *namea, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *nameb);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00278}00278 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a9f53f6118c5e44ca2bcbd7ae548597b9}{g\_destroy\_consumer}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00279}00279 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_ac8307c99785f672632d3cf33134211ea}{g\_destroy\_geom}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00280}00280 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_ab84a7760092168f95cb24fe16c926004}{g\_destroy\_provider}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00281}00281 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a037802c2ec5d43fcf1222215f9f8a735}{g\_detach}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00282}00282 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a7a46b49361266e9bb4b1441aade2c48f}{g\_error\_provider}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, \textcolor{keywordtype}{int} error);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00283}00283 \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{geom_8h_ad022ef529cc86a6c4ea72564de2e9ca2}{g\_provider\_by\_name}}(\textcolor{keywordtype}{char} \textcolor{keyword}{const} *arg);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00284}00284 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a57b7a8e3982ac0b120b11e5133131765}{g\_getattr\_\_}}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *attr, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \textcolor{keywordtype}{void} *var, \textcolor{keywordtype}{int} len);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00285}\mbox{\hyperlink{geom_8h_a5ae737a0eaaf6cb08f6f6efe52e90a49}{00285}} \textcolor{preprocessor}{\#define g\_getattr(a, c, v) g\_getattr\_\_((a), (c), (v), sizeof *(v))}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00286}00286 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_ab8d593935d7aa976d200e92ae28d439d}{g\_handleattr}}(\textcolor{keyword}{struct} bio *\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *attribute, \textcolor{keyword}{const} \textcolor{keywordtype}{void} *val,}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00287}00287     \textcolor{keywordtype}{int} len);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00288}00288 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a1101b455c1a4dd4d75b17628d8196ddd}{g\_handleattr\_int}}(\textcolor{keyword}{struct} bio *\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *attribute, \textcolor{keywordtype}{int} val);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00289}00289 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_ab49a9285203194bde26c37f5fbaa5d98}{g\_handleattr\_off\_t}}(\textcolor{keyword}{struct} bio *\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *attribute, off\_t val);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00290}00290 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_ab23d4ad00bf5c10051a02ec7ab7f1ea5}{g\_handleattr\_uint16\_t}}(\textcolor{keyword}{struct} bio *\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *attribute, uint16\_t val);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00291}00291 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a735846145a44f7d3a1903e791bc8ccf8}{g\_handleattr\_str}}(\textcolor{keyword}{struct} bio *\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *attribute, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *str);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00292}00292 \textcolor{keyword}{struct }\mbox{\hyperlink{structg__consumer}{g\_consumer}} * \mbox{\hyperlink{geom_8h_aef9ca3f0eecc1b245c3c9cd0bac1cdc4}{g\_new\_consumer}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00293}\mbox{\hyperlink{geom_8h_a4000befe2ff4b405b8333ccc5b0fdb41}{00293}} \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} * \mbox{\hyperlink{geom_8h_a4000befe2ff4b405b8333ccc5b0fdb41}{g\_new\_geomf}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__class}{g\_class}} *\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *fmt, ...)}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00294}00294     \_\_printflike(2, 3);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00295}\mbox{\hyperlink{geom_8h_a79a5fe6e79cbc1a257454a3554fa11ef}{00295}} struct \mbox{\hyperlink{structg__provider}{g\_provider}} * \mbox{\hyperlink{geom_8h_a79a5fe6e79cbc1a257454a3554fa11ef}{g\_new\_providerf}}(struct \mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, const \textcolor{keywordtype}{char} *fmt, ...)}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00296}00296     \_\_printflike(2, 3);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00297}\mbox{\hyperlink{geom_8h_a14208f360ed869858f7e5878e8940470}{00297}} \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a14208f360ed869858f7e5878e8940470}{g\_provider\_add\_alias}}(struct \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, const \textcolor{keywordtype}{char} *fmt, ...)}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00298}00298     \_\_printflike(2, 3);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00299}00299 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a72d479d3ccd8dec427b97c90557f3a4f}{g\_resize\_provider}}(struct \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, off\_t size);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00300}00300 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_adb2947739c157b0cb4f1650d1122b953}{g\_retaste}}(struct \mbox{\hyperlink{structg__class}{g\_class}} *\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00301}00301 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a5644f775e95e001422c0cfa3818057dc}{g\_spoil}}(struct \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, struct \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00302}00302 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a7b669ee14be3c3fd610072ac811b6b07}{g\_std\_access}}(struct \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, \textcolor{keywordtype}{int} dr, \textcolor{keywordtype}{int} dw, \textcolor{keywordtype}{int} de);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00303}00303 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a3b40808daecd7db79de16471ac14397a}{g\_std\_done}}(struct bio *\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00304}00304 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_ac8cee5c0bb693826291c30b6da85fd7a}{g\_std\_spoiled}}(struct \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00305}00305 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a87a0eb5de79ed5e49fcfec012f213c9b}{g\_wither\_geom}}(struct \mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, \textcolor{keywordtype}{int} error);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00306}00306 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_aaece117b5942668569beb7cdfc441381}{g\_wither\_geom\_close}}(struct \mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, \textcolor{keywordtype}{int} error);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00307}00307 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a164882713025c4e0cc58b1ac8501bcf0}{g\_wither\_provider}}(struct \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, \textcolor{keywordtype}{int} error);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00308}00308 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00309}00309 \textcolor{preprocessor}{\#if defined(DIAGNOSTIC) || defined(DDB)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00310}00310 \textcolor{keywordtype}{int} g\_valid\_obj(\textcolor{keywordtype}{void} \textcolor{keyword}{const} *ptr);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00311}00311 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00312}00312 \textcolor{preprocessor}{\#ifdef DIAGNOSTIC}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00313}00313 \textcolor{preprocessor}{\#define G\_VALID\_CLASS(foo) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00314}00314 \textcolor{preprocessor}{    KASSERT(g\_valid\_obj(foo) == 1, ("{}\%p is not a g\_class"{}}, foo))}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00315}00315 \textcolor{preprocessor}{\#define G\_VALID\_GEOM(foo) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00316}00316 \textcolor{preprocessor}{    KASSERT(g\_valid\_obj(foo) == 2, ("{}\%p is not a g\_geom"{}}, foo))}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00317}00317 \textcolor{preprocessor}{\#define G\_VALID\_CONSUMER(foo) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00318}00318 \textcolor{preprocessor}{    KASSERT(g\_valid\_obj(foo) == 3, ("{}\%p is not a g\_consumer"{}}, foo))}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00319}00319 \textcolor{preprocessor}{\#define G\_VALID\_PROVIDER(foo) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00320}00320 \textcolor{preprocessor}{    KASSERT(g\_valid\_obj(foo) == 4, ("{}\%p is not a g\_provider"{}}, foo))}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00321}00321 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00322}\mbox{\hyperlink{geom_8h_ae2e47bbb81c15737a17dd2ba23750e8b}{00322}} \textcolor{preprocessor}{\#define G\_VALID\_CLASS(foo) do \{ \} while (0)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00323}\mbox{\hyperlink{geom_8h_a828a1273389bb45b266df0cb514db684}{00323}} \textcolor{preprocessor}{\#define G\_VALID\_GEOM(foo) do \{ \} while (0)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00324}\mbox{\hyperlink{geom_8h_a450238659abb61a35db50589d4619fe0}{00324}} \textcolor{preprocessor}{\#define G\_VALID\_CONSUMER(foo) do \{ \} while (0)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00325}\mbox{\hyperlink{geom_8h_a96292dfca4f6caed2c9a14a875b902a0}{00325}} \textcolor{preprocessor}{\#define G\_VALID\_PROVIDER(foo) do \{ \} while (0)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00326}00326 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00327}00327 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00328}00328 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a242f0ce2ed0b8103ec6212a1cb4e941d}{g\_modevent}}(module\_t, \textcolor{keywordtype}{int}, \textcolor{keywordtype}{void} *);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00329}00329 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00330}00330 \textcolor{comment}{/* geom\_io.c */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00331}00331 \textcolor{keyword}{struct }bio * \mbox{\hyperlink{geom_8h_a4ef26e4ec68e35e8f892692c524a3d4f}{g\_clone\_bio}}(\textcolor{keyword}{struct} bio *);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00332}00332 \textcolor{keyword}{struct }bio * \mbox{\hyperlink{geom_8h_ac367190962a01b4111cdf2fd2718a432}{g\_duplicate\_bio}}(\textcolor{keyword}{struct} bio *);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00333}00333 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_ae3cbea7d4bf48f25bb609df3d3f0bb28}{g\_destroy\_bio}}(\textcolor{keyword}{struct} bio *);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00334}00334 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a0975be2dcd40a26a56a1a9bfc80433e1}{g\_io\_deliver}}(\textcolor{keyword}{struct} bio *\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, \textcolor{keywordtype}{int} error);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00335}00335 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a63ec0c10c4635c215416171e7e804d17}{g\_io\_getattr}}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *attr, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \textcolor{keywordtype}{int} *len, \textcolor{keywordtype}{void} *ptr);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00336}00336 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a74419966b44a2e14b2ab0cf100f85a04}{g\_io\_zonecmd}}(\textcolor{keyword}{struct} disk\_zone\_args *zone\_args, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00337}00337 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_ac6fb73d666033fb395f7beaf2d6caa46}{g\_io\_flush}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00338}00338 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_ad39e656cc178034686899fe25350ac58}{g\_io\_speedup}}(off\_t shortage, u\_int flags, \textcolor{keywordtype}{size\_t} *resid,}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00339}00339     \textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00340}00340 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_aa433c0ba9e8cad7c7da1f9e17b46eb7a}{g\_io\_request}}(\textcolor{keyword}{struct} bio *\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00341}00341 \textcolor{keyword}{struct }bio *\mbox{\hyperlink{geom_8h_ad1c00a46dacd4e51a19243a557ff24f3}{g\_new\_bio}}(\textcolor{keywordtype}{void});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00342}00342 \textcolor{keyword}{struct }bio *\mbox{\hyperlink{geom_8h_ae13a6895af777c09cf19545f48517fe4}{g\_alloc\_bio}}(\textcolor{keywordtype}{void});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00343}00343 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_ac7e5011386a1b89e762abf3a1e4fa76b}{g\_reset\_bio}}(\textcolor{keyword}{struct} bio *);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00344}00344 \textcolor{keywordtype}{void} * \mbox{\hyperlink{geom_8h_a550c2071f79908eea3d1ccbf821c4e4f}{g\_read\_data}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, off\_t \mbox{\hyperlink{g__raid__tr__if_8m_ad5f0842c40c7e46344fd8df70187fa0f}{offset}}, off\_t \mbox{\hyperlink{g__raid__tr__if_8m_ae809d5359ac030c60a30a8f0b2294b82}{length}}, \textcolor{keywordtype}{int} *error);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00345}00345 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a9b87ecbd812c109546b077da483baada}{g\_write\_data}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, off\_t \mbox{\hyperlink{g__raid__tr__if_8m_ad5f0842c40c7e46344fd8df70187fa0f}{offset}}, \textcolor{keywordtype}{void} *ptr, off\_t \mbox{\hyperlink{g__raid__tr__if_8m_ae809d5359ac030c60a30a8f0b2294b82}{length}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00346}00346 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a6396cdc575e58dfa3d425eb99ab9a420}{g\_delete\_data}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, off\_t \mbox{\hyperlink{g__raid__tr__if_8m_ad5f0842c40c7e46344fd8df70187fa0f}{offset}}, off\_t \mbox{\hyperlink{g__raid__tr__if_8m_ae809d5359ac030c60a30a8f0b2294b82}{length}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00347}00347 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_aff8179a0805768bbd56c5cdd035bf97e}{g\_format\_bio}}(\textcolor{keyword}{struct} sbuf *, \textcolor{keyword}{const} \textcolor{keyword}{struct} bio *\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00348}\mbox{\hyperlink{geom_8h_a13e80aacc43b6881f61d0cd9b5045d16}{00348}} \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a13e80aacc43b6881f61d0cd9b5045d16}{g\_print\_bio}}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *prefix, \textcolor{keyword}{const} \textcolor{keyword}{struct} bio *\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *fmtsuffix, ...) \_\_printflike(3, 4);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00349}00349 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_ac8ae913e9fae0e6ecde8d92bf60ec225}{g\_use\_g\_read\_data}}(\textcolor{keywordtype}{void} *, off\_t, \textcolor{keywordtype}{void} **, \textcolor{keywordtype}{int});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00350}00350 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_afb595e8ff20313f2636444c72e50601e}{g\_use\_g\_write\_data}}(\textcolor{keywordtype}{void} *, off\_t, \textcolor{keywordtype}{void} *, \textcolor{keywordtype}{int});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00351}00351 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00352}00352 \textcolor{comment}{/* geom\_kern.c / geom\_kernsim.c */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00353}00353 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00354}00354 \textcolor{preprocessor}{\#ifdef \_KERNEL}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00355}00355 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00356}00356 \textcolor{keyword}{extern} \textcolor{keyword}{struct }sx \mbox{\hyperlink{geom_8h_aa310e3c4f476ab5f1fe23121cf431b85}{topology\_lock}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00357}00357 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00358}\mbox{\hyperlink{structg__kerneldump}{00358}} \textcolor{keyword}{struct }\mbox{\hyperlink{structg__kerneldump}{g\_kerneldump}} \{}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00359}\mbox{\hyperlink{structg__kerneldump_aa2f370e534c376b02e72f8c17d514482}{00359}}         off\_t           \mbox{\hyperlink{structg__kerneldump_aa2f370e534c376b02e72f8c17d514482}{offset}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00360}\mbox{\hyperlink{structg__kerneldump_a5dc5dec9fd5d176d53a0de31cfc6127b}{00360}}         off\_t           \mbox{\hyperlink{structg__kerneldump_a5dc5dec9fd5d176d53a0de31cfc6127b}{length}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00361}\mbox{\hyperlink{structg__kerneldump_a840af2cd4eaa4cf322efc478112edca5}{00361}}         \textcolor{keyword}{struct }dumperinfo \mbox{\hyperlink{structg__kerneldump_a840af2cd4eaa4cf322efc478112edca5}{di}};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00362}00362 \};}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00363}00363 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00364}\mbox{\hyperlink{geom_8h_ae2af87a05ac8ad6de4e4735474b354ee}{00364}} \mbox{\hyperlink{geom_8h_ae2af87a05ac8ad6de4e4735474b354ee}{MALLOC\_DECLARE}}(M\_GEOM);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00365}00365 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00366}00366 \textcolor{keyword}{static} \_\_inline \textcolor{keywordtype}{void} *}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00367}\mbox{\hyperlink{geom_8h_a0f190247baa73dc863a79fea9d5f6b4f}{00367}} \mbox{\hyperlink{geom_8h_a0f190247baa73dc863a79fea9d5f6b4f}{g\_malloc}}(\textcolor{keywordtype}{int} size, \textcolor{keywordtype}{int} flags)}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00368}00368 \{}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00369}00369         \textcolor{keywordtype}{void} *p;}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00370}00370 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00371}00371         p = malloc(size, M\_GEOM, flags);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00372}00372         \textcolor{keywordflow}{return} (p);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00373}00373 \}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00374}00374 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00375}00375 \textcolor{keyword}{static} \_\_inline \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00376}\mbox{\hyperlink{geom_8h_ad9924deb20de7b40cb6cf06e5ae28855}{00376}} \mbox{\hyperlink{geom_8h_ad9924deb20de7b40cb6cf06e5ae28855}{g\_free}}(\textcolor{keywordtype}{void} *ptr)}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00377}00377 \{}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00378}00378 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00379}00379 \textcolor{preprocessor}{\#ifdef DIAGNOSTIC}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00380}00380         \textcolor{keywordflow}{if} (sx\_xlocked(\&\mbox{\hyperlink{geom_8h_aa310e3c4f476ab5f1fe23121cf431b85}{topology\_lock}})) \{}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00381}00381                 KASSERT(g\_valid\_obj(ptr) == 0,}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00382}00382                     (\textcolor{stringliteral}{"{}g\_free(\%p) of live object, type \%d"{}}, ptr,}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00383}00383                     g\_valid\_obj(ptr)));}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00384}00384         \}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00385}00385 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00386}00386         \mbox{\hyperlink{g__raid__md__if_8m_a4df9edb2717b3f7e4c3c903878577a54}{free}}(ptr, M\_GEOM);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00387}00387 \}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00388}00388 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00389}\mbox{\hyperlink{geom_8h_a232419d2cfa06ff3f4ff7551041aed31}{00389}} \textcolor{preprocessor}{\#define g\_topology\_lock()                                       \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00390}00390 \textcolor{preprocessor}{        do \{                                                    \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00391}00391 \textcolor{preprocessor}{                sx\_xlock(\&topology\_lock);                       \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00392}00392 \textcolor{preprocessor}{        \} while (0)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00393}00393 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00394}\mbox{\hyperlink{geom_8h_a6cc04322c4f43782ea65c65e3ecadd51}{00394}} \textcolor{preprocessor}{\#define g\_topology\_try\_lock()   sx\_try\_xlock(\&topology\_lock)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00395}00395 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00396}\mbox{\hyperlink{geom_8h_a4628d4de49ba84e7a6126cc30d23b83a}{00396}} \textcolor{preprocessor}{\#define g\_topology\_unlock()                                     \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00397}00397 \textcolor{preprocessor}{        do \{                                                    \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00398}00398 \textcolor{preprocessor}{                sx\_xunlock(\&topology\_lock);                     \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00399}00399 \textcolor{preprocessor}{        \} while (0)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00400}00400 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00401}\mbox{\hyperlink{geom_8h_ae3d48e36cf56f954b0eb9333b1264e7d}{00401}} \textcolor{preprocessor}{\#define g\_topology\_locked()     sx\_xlocked(\&topology\_lock)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00402}00402 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00403}\mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{00403}} \textcolor{preprocessor}{\#define g\_topology\_assert()                                     \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00404}00404 \textcolor{preprocessor}{        do \{                                                    \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00405}00405 \textcolor{preprocessor}{                sx\_assert(\&topology\_lock, SX\_XLOCKED);          \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00406}00406 \textcolor{preprocessor}{        \} while (0)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00407}00407 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00408}\mbox{\hyperlink{geom_8h_a71a3365bd3741226d2c0d1abada9fde7}{00408}} \textcolor{preprocessor}{\#define g\_topology\_assert\_not()                                 \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00409}00409 \textcolor{preprocessor}{        do \{                                                    \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00410}00410 \textcolor{preprocessor}{                sx\_assert(\&topology\_lock, SX\_UNLOCKED);         \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00411}00411 \textcolor{preprocessor}{        \} while (0)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00412}00412 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00413}\mbox{\hyperlink{geom_8h_adf01cbb332cb0bd0acf3de5c3cef0949}{00413}} \textcolor{preprocessor}{\#define g\_topology\_sleep(chan, timo)                            \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00414}00414 \textcolor{preprocessor}{        sx\_sleep(chan, \&topology\_lock, 0, "{}gtopol"{}}, timo)}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00415}00415 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00416}\mbox{\hyperlink{geom_8h_acfa9c732bfbe33688b9ffe39a4e626a3}{00416}} \textcolor{preprocessor}{\#define DECLARE\_GEOM\_CLASS(class, name)                         \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00417}00417 \textcolor{preprocessor}{        static moduledata\_t name\#\#\_mod = \{                      \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00418}00418 \textcolor{preprocessor}{                \#name, g\_modevent, \&class                       \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00419}00419 \textcolor{preprocessor}{        \};                                                      \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00420}00420 \textcolor{preprocessor}{        DECLARE\_MODULE(name, name\#\#\_mod, SI\_SUB\_DRIVERS, SI\_ORDER\_SECOND);}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00421}00421 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00422}00422 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a803acff54129a563b9a6ea3effe7c47c}{g\_is\_geom\_thread}}(\textcolor{keyword}{struct} thread *\mbox{\hyperlink{g__part__if_8m_aaf840c84d139bb8ad4b3e668c92b3c30}{td}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00423}00423 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00424}00424 \textcolor{preprocessor}{\#ifndef \_PATH\_DEV}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00425}\mbox{\hyperlink{geom_8h_a9e429780e6e3bb32284b54630bc60a0d}{00425}} \textcolor{preprocessor}{\#define \_PATH\_DEV       "{}/dev/"{}}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00426}00426 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00427}00427 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00428}00428 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_KERNEL */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00429}00429 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00430}00430 \textcolor{comment}{/* geom\_ctl.c */}}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00431}00431 \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_abf5d22b40dea53afe414a88271754c6a}{gctl\_set\_param}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *param, \textcolor{keywordtype}{void} \textcolor{keyword}{const} *ptr, \textcolor{keywordtype}{int} len);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00432}00432 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a0e59ccc0c24cea0ff0cee98b64021ba5}{gctl\_set\_param\_err}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *param, \textcolor{keywordtype}{void} \textcolor{keyword}{const} *ptr, \textcolor{keywordtype}{int} len);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00433}00433 \textcolor{keywordtype}{void} *\mbox{\hyperlink{geom_8h_a3e3d6786258b3336d55a96607f9b8eb8}{gctl\_get\_param}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *param, \textcolor{keywordtype}{int} *len);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00434}00434 \textcolor{keywordtype}{void} *\mbox{\hyperlink{geom_8h_a1abba7d508f055176e3bbd8eec3051b5}{gctl\_get\_param\_flags}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *param, \textcolor{keywordtype}{int} flags, \textcolor{keywordtype}{int} *len);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00435}00435 \textcolor{keywordtype}{char} \textcolor{keyword}{const} *\mbox{\hyperlink{geom_8h_ada33526012aac8ee446617bb3749a07c}{gctl\_get\_asciiparam}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *param);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00436}00436 \textcolor{keywordtype}{void} *\mbox{\hyperlink{geom_8h_ab762d12640f528d8f1f60eee92bf5f3b}{gctl\_get\_paraml}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *param, \textcolor{keywordtype}{int} len);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00437}00437 \textcolor{keywordtype}{void} *\mbox{\hyperlink{geom_8h_ab1b74fb84c5157c09be416bc8b8d9d64}{gctl\_get\_paraml\_opt}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *param, \textcolor{keywordtype}{int} len);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00438}\mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{00438}} \textcolor{keywordtype}{int} \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *fmt, ...) \_\_printflike(2, 3);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00439}\mbox{\hyperlink{geom_8h_a84f060ab407919f4dadb670766f4ca9d}{00439}} \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a84f060ab407919f4dadb670766f4ca9d}{gctl\_msg}}(struct \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, const \textcolor{keywordtype}{char} *fmt, ...) \_\_printflike(2, 3);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00440}00440 \textcolor{keywordtype}{void} \mbox{\hyperlink{geom_8h_a46a56ee1a935196396edd9a0e302e716}{gctl\_post\_messages}}(struct \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}});}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00441}00441 struct \mbox{\hyperlink{structg__class}{g\_class}} *\mbox{\hyperlink{geom_8h_a69c3ddd4cd5c31ed4a30c31d41433f0f}{gctl\_get\_class}}(struct \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keywordtype}{char} const *arg);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00442}00442 struct \mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{geom_8h_abed39403ebb1af29764ffa772cfce2a5}{gctl\_get\_geom}}(struct \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, struct \mbox{\hyperlink{structg__class}{g\_class}} *\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}}, \textcolor{keywordtype}{char} const *arg);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00443}00443 struct \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{geom_8h_a02d62eea445edba7982f681b41c6c307}{gctl\_get\_provider}}(struct \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keywordtype}{char} const *arg);}
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00444}00444 }
\DoxyCodeLine{\Hypertarget{geom_8h_source_l00445}00445 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_GEOM\_GEOM\_H\_ */}\textcolor{preprocessor}{}}

\end{DoxyCode}
