\hypertarget{g__zero_8c_source}{}\doxysection{g\+\_\+zero.\+c}
\label{g__zero_8c_source}\index{geom/zero/g\_zero.c@{geom/zero/g\_zero.c}}
\mbox{\hyperlink{g__zero_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00001}00001 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00002}00002 \textcolor{comment}{ * SPDX-\/License-\/Identifier: BSD-\/2-\/Clause-\/FreeBSD}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00003}00003 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00004}00004 \textcolor{comment}{ * Copyright (c) 2005 Pawel Jakub Dawidek <pjd@FreeBSD.org>}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00005}00005 \textcolor{comment}{ * All rights reserved.}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00006}00006 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00007}00007 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00008}00008 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00009}00009 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00010}00010 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00011}00011 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00012}00012 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00013}00013 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00014}00014 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00015}00015 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00016}00016 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00017}00017 \textcolor{comment}{ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00018}00018 \textcolor{comment}{ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00019}00019 \textcolor{comment}{ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00020}00020 \textcolor{comment}{ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00021}00021 \textcolor{comment}{ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00022}00022 \textcolor{comment}{ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00023}00023 \textcolor{comment}{ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00024}00024 \textcolor{comment}{ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00025}00025 \textcolor{comment}{ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00026}00026 \textcolor{comment}{ * SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00027}00027 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00028}00028 }
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00029}00029 \textcolor{preprocessor}{\#include <sys/cdefs.h>}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00030}\mbox{\hyperlink{g__zero_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{00030}} \mbox{\hyperlink{g__zero_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\_\_FBSDID}}(\textcolor{stringliteral}{"{}\$FreeBSD\$"{}});}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00031}00031 }
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00032}00032 \textcolor{preprocessor}{\#include <sys/param.h>}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00033}00033 \textcolor{preprocessor}{\#include <sys/bio.h>}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00034}00034 \textcolor{preprocessor}{\#include <sys/kernel.h>}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00035}00035 \textcolor{preprocessor}{\#include <sys/limits.h>}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00036}00036 \textcolor{preprocessor}{\#include <sys/malloc.h>}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00037}00037 \textcolor{preprocessor}{\#include <sys/queue.h>}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00038}00038 \textcolor{preprocessor}{\#include <sys/sysctl.h>}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00039}00039 \textcolor{preprocessor}{\#include <sys/systm.h>}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00040}00040 }
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00041}00041 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{geom_8h}{geom/geom.h}}>}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00042}00042 }
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00043}\mbox{\hyperlink{g__zero_8c_ab5cfc1fc6e4a03d3aeeb929638ac61f4}{00043}} \textcolor{preprocessor}{\#define G\_ZERO\_CLASS\_NAME       "{}ZERO"{}}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00044}00044 }
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00045}00045 \textcolor{keyword}{static} \textcolor{keywordtype}{int}      \mbox{\hyperlink{g__zero_8c_a5d551efe2c88d873214dc64a898bd99c}{g\_zero\_clear\_sysctl}}(SYSCTL\_HANDLER\_ARGS);}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00046}00046 }
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00047}\mbox{\hyperlink{g__zero_8c_a1e69eaa2ef6048550eaeebcf775a3d0f}{00047}} \mbox{\hyperlink{g__zero_8c_a1e69eaa2ef6048550eaeebcf775a3d0f}{SYSCTL\_DECL}}(\_kern\_geom);}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00048}\mbox{\hyperlink{g__zero_8c_aef19ca8e82f46b38b4e74a139972863a}{00048}} \textcolor{keyword}{static} \mbox{\hyperlink{g__zero_8c_aef19ca8e82f46b38b4e74a139972863a}{SYSCTL\_NODE}}(\_kern\_geom, OID\_AUTO, zero, CTLFLAG\_RW | CTLFLAG\_MPSAFE, 0,}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00049}00049     \textcolor{stringliteral}{"{}GEOM\_ZERO stuff"{}});}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00050}\mbox{\hyperlink{g__zero_8c_a8ec9e70155c25197c4e501524c0fa7b7}{00050}} \textcolor{keyword}{static} \textcolor{keywordtype}{int} \mbox{\hyperlink{g__zero_8c_a8ec9e70155c25197c4e501524c0fa7b7}{g\_zero\_clear}} = 1;}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00051}\mbox{\hyperlink{g__zero_8c_ad7b181ab2aecbdc4b802223bfad2c8d7}{00051}} \mbox{\hyperlink{g__zero_8c_ad7b181ab2aecbdc4b802223bfad2c8d7}{SYSCTL\_PROC}}(\_kern\_geom\_zero, OID\_AUTO, clear,}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00052}00052     CTLTYPE\_INT | CTLFLAG\_RW | CTLFLAG\_MPSAFE, \&\mbox{\hyperlink{g__zero_8c_a8ec9e70155c25197c4e501524c0fa7b7}{g\_zero\_clear}}, 0,}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00053}00053     \mbox{\hyperlink{g__zero_8c_a5d551efe2c88d873214dc64a898bd99c}{g\_zero\_clear\_sysctl}}, \textcolor{stringliteral}{"{}I"{}},}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00054}00054     \textcolor{stringliteral}{"{}Clear read data buffer"{}});}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00055}\mbox{\hyperlink{g__zero_8c_a90ba8f34a2db36767376b64e6c632625}{00055}} \textcolor{keyword}{static} \textcolor{keywordtype}{int} \mbox{\hyperlink{g__zero_8c_a90ba8f34a2db36767376b64e6c632625}{g\_zero\_byte}} = 0;}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00056}\mbox{\hyperlink{g__zero_8c_a3b70798a2122328de5998a8e58f4ddf6}{00056}} \mbox{\hyperlink{g__zero_8c_a3b70798a2122328de5998a8e58f4ddf6}{SYSCTL\_INT}}(\_kern\_geom\_zero, OID\_AUTO, \textcolor{keywordtype}{byte}, CTLFLAG\_RW, \&\mbox{\hyperlink{g__zero_8c_a90ba8f34a2db36767376b64e6c632625}{g\_zero\_byte}}, 0,}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00057}00057     \textcolor{stringliteral}{"{}Byte (octet) value to clear the buffers with"{}});}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00058}00058 }
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00059}\mbox{\hyperlink{g__zero_8c_a4394668aac1d094339425837daa60cae}{00059}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__zero_8c_a4394668aac1d094339425837daa60cae}{gpp}};}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00060}00060 }
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00061}00061 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00062}\mbox{\hyperlink{g__zero_8c_a5d551efe2c88d873214dc64a898bd99c}{00062}} \mbox{\hyperlink{g__zero_8c_a5d551efe2c88d873214dc64a898bd99c}{g\_zero\_clear\_sysctl}}(SYSCTL\_HANDLER\_ARGS)}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00063}00063 \{}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00064}00064         \textcolor{keywordtype}{int} \mbox{\hyperlink{structg__provider_acacf1ee18cb6edbcfedc185846696e7f}{error}};}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00065}00065 }
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00066}00066         \mbox{\hyperlink{structg__provider_acacf1ee18cb6edbcfedc185846696e7f}{error}} = sysctl\_handle\_int(oidp, \&\mbox{\hyperlink{g__zero_8c_a8ec9e70155c25197c4e501524c0fa7b7}{g\_zero\_clear}}, 0, \mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}});}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00067}00067         \textcolor{keywordflow}{if} (\mbox{\hyperlink{structg__provider_acacf1ee18cb6edbcfedc185846696e7f}{error}} != 0 || \mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}-\/>newptr == NULL)}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00068}00068                 \textcolor{keywordflow}{return} (\mbox{\hyperlink{structg__provider_acacf1ee18cb6edbcfedc185846696e7f}{error}});}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00069}00069         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__zero_8c_a4394668aac1d094339425837daa60cae}{gpp}} == NULL)}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00070}00070                 \textcolor{keywordflow}{return} (ENXIO);}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00071}00071         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__zero_8c_a8ec9e70155c25197c4e501524c0fa7b7}{g\_zero\_clear}})}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00072}00072                 \mbox{\hyperlink{g__zero_8c_a4394668aac1d094339425837daa60cae}{gpp}}-\/>\mbox{\hyperlink{structg__provider_a2d2060ee918007b601780f93a39c30de}{flags}} \&= \string~G\_PF\_ACCEPT\_UNMAPPED;}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00073}00073         \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00074}00074                 \mbox{\hyperlink{g__zero_8c_a4394668aac1d094339425837daa60cae}{gpp}}-\/>\mbox{\hyperlink{structg__provider_a2d2060ee918007b601780f93a39c30de}{flags}} |= \mbox{\hyperlink{geom_8h_a82547ff81813e6e37dd57c36e530c7e2}{G\_PF\_ACCEPT\_UNMAPPED}};}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00075}00075         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00076}00076 \}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00077}00077 }
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00078}00078 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00079}\mbox{\hyperlink{g__zero_8c_a2ada0ae23bb5e1b5c842f8b20ac0bf7c}{00079}} \mbox{\hyperlink{g__zero_8c_a2ada0ae23bb5e1b5c842f8b20ac0bf7c}{g\_zero\_start}}(\textcolor{keyword}{struct} bio *\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}})}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00080}00080 \{}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00081}00081         \textcolor{keywordtype}{int} \mbox{\hyperlink{structg__provider_acacf1ee18cb6edbcfedc185846696e7f}{error}} = ENXIO;}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00082}00082 }
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00083}00083         \textcolor{keywordflow}{switch} (\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_cmd) \{}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00084}00084         \textcolor{keywordflow}{case} BIO\_READ:}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00085}00085                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__zero_8c_a8ec9e70155c25197c4e501524c0fa7b7}{g\_zero\_clear}} \&\& (\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_flags \& BIO\_UNMAPPED) == 0)}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00086}00086                         memset(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_data, \mbox{\hyperlink{g__zero_8c_a90ba8f34a2db36767376b64e6c632625}{g\_zero\_byte}}, \mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_length);}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00087}00087                 \textcolor{comment}{/* FALLTHROUGH */}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00088}00088         \textcolor{keywordflow}{case} BIO\_DELETE:}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00089}00089         \textcolor{keywordflow}{case} BIO\_WRITE:}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00090}00090                 \mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_completed = \mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_length;}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00091}00091                 \mbox{\hyperlink{structg__provider_acacf1ee18cb6edbcfedc185846696e7f}{error}} = 0;}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00092}00092                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00093}00093         \textcolor{keywordflow}{case} BIO\_GETATTR:}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00094}00094         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00095}00095                 \mbox{\hyperlink{structg__provider_acacf1ee18cb6edbcfedc185846696e7f}{error}} = EOPNOTSUPP;}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00096}00096                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00097}00097         \}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00098}00098         \mbox{\hyperlink{geom_8h_a0975be2dcd40a26a56a1a9bfc80433e1}{g\_io\_deliver}}(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, \mbox{\hyperlink{structg__provider_acacf1ee18cb6edbcfedc185846696e7f}{error}});}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00099}00099 \}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00100}00100 }
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00101}00101 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00102}\mbox{\hyperlink{g__zero_8c_a18f6d0228fe4adc65f656e7c16941dd9}{00102}} \mbox{\hyperlink{g__zero_8c_a18f6d0228fe4adc65f656e7c16941dd9}{g\_zero\_init}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__class}{g\_class}} *\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}})}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00103}00103 \{}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00104}00104         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00105}00105         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}};}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00106}00106 }
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00107}00107         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00108}00108         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} = \mbox{\hyperlink{geom_8h_a4000befe2ff4b405b8333ccc5b0fdb41}{g\_new\_geomf}}(\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}}, \textcolor{stringliteral}{"{}gzero"{}});}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00109}00109         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_a160a0c74f128936d97064e56052dc2ef}{start}} = \mbox{\hyperlink{g__zero_8c_a2ada0ae23bb5e1b5c842f8b20ac0bf7c}{g\_zero\_start}};}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00110}00110         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aea05083928dcabdb4d343c6b9ee71cbd}{access}} = \mbox{\hyperlink{geom_8h_a7b669ee14be3c3fd610072ac811b6b07}{g\_std\_access}};}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00111}00111         \mbox{\hyperlink{g__zero_8c_a4394668aac1d094339425837daa60cae}{gpp}} = \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = \mbox{\hyperlink{geom_8h_a79a5fe6e79cbc1a257454a3554fa11ef}{g\_new\_providerf}}(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, \textcolor{stringliteral}{"{}\%s"{}}, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}});}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00112}00112         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a2d2060ee918007b601780f93a39c30de}{flags}} |= \mbox{\hyperlink{geom_8h_a486656f757680c7ff0c7ca06b643eb2d}{G\_PF\_DIRECT\_SEND}} | \mbox{\hyperlink{geom_8h_a36e660dabad70e0fd2439be3ddca8d47}{G\_PF\_DIRECT\_RECEIVE}};}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00113}00113         \textcolor{keywordflow}{if} (!\mbox{\hyperlink{g__zero_8c_a8ec9e70155c25197c4e501524c0fa7b7}{g\_zero\_clear}})}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00114}00114                 \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a2d2060ee918007b601780f93a39c30de}{flags}} |= \mbox{\hyperlink{geom_8h_a82547ff81813e6e37dd57c36e530c7e2}{G\_PF\_ACCEPT\_UNMAPPED}};}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00115}00115         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}} = 1152921504606846976LLU;}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00116}00116         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}} = 512;}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00117}00117         \mbox{\hyperlink{geom_8h_a7a46b49361266e9bb4b1441aade2c48f}{g\_error\_provider}}(\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, 0);}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00118}00118 \}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00119}00119 }
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00120}00120 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00121}\mbox{\hyperlink{g__zero_8c_a6acacd2a8ace43388499c3537cf6d890}{00121}} \mbox{\hyperlink{g__zero_8c_a6acacd2a8ace43388499c3537cf6d890}{g\_zero\_destroy\_geom}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}} \_\_unused, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__class}{g\_class}} *\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}} \_\_unused,}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00122}00122     \textcolor{keyword}{struct} \mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}})}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00123}00123 \{}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00124}00124         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}};}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00125}00125 }
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00126}00126         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00127}00127         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} == NULL)}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00128}00128                 \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00129}00129         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = LIST\_FIRST(\&\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>provider);}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00130}00130         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} == NULL)}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00131}00131                 \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00132}00132         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a62d7db6055318331bae725b44d58c140}{acr}} > 0 || \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_abc6824f999ce8b17107d833c908c83e6}{acw}} > 0 || \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_ae46b0f6e935dcb33a2a06556dbcbeb4c}{ace}} > 0)}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00133}00133                 \textcolor{keywordflow}{return} (EBUSY);}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00134}00134         \mbox{\hyperlink{g__zero_8c_a4394668aac1d094339425837daa60cae}{gpp}} = NULL;}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00135}00135         \mbox{\hyperlink{geom_8h_a87a0eb5de79ed5e49fcfec012f213c9b}{g\_wither\_geom}}(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, ENXIO);}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00136}00136         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00137}00137 \}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00138}00138 }
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00139}\mbox{\hyperlink{g__zero_8c_a3d2220bd6e5b579f74f7701a0a0fdcd0}{00139}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structg__class}{g\_class}} \mbox{\hyperlink{g__zero_8c_a3d2220bd6e5b579f74f7701a0a0fdcd0}{g\_zero\_class}} = \{}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00140}00140         .\mbox{\hyperlink{structg__class_a66bf8381cf0afbf7ccdebfa6b90a4a96}{name}} = \mbox{\hyperlink{g__zero_8c_ab5cfc1fc6e4a03d3aeeb929638ac61f4}{G\_ZERO\_CLASS\_NAME}},}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00141}00141         .version = \mbox{\hyperlink{geom_8h_a33025dbc893de9dc049ba2f30283bc5a}{G\_VERSION}},}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00142}00142         .init = \mbox{\hyperlink{g__zero_8c_a18f6d0228fe4adc65f656e7c16941dd9}{g\_zero\_init}},}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00143}00143         .destroy\_geom = \mbox{\hyperlink{g__zero_8c_a6acacd2a8ace43388499c3537cf6d890}{g\_zero\_destroy\_geom}}}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00144}00144 \};}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00145}00145 }
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00146}\mbox{\hyperlink{g__zero_8c_a28c66f08b312b7bfbf73c1246dfd56bf}{00146}} \mbox{\hyperlink{g__zero_8c_a28c66f08b312b7bfbf73c1246dfd56bf}{DECLARE\_GEOM\_CLASS}}(\mbox{\hyperlink{g__zero_8c_a3d2220bd6e5b579f74f7701a0a0fdcd0}{g\_zero\_class}}, g\_zero);}
\DoxyCodeLine{\Hypertarget{g__zero_8c_source_l00147}\mbox{\hyperlink{g__zero_8c_ab70a24ff1a2a09a9282089f71249cf51}{00147}} \mbox{\hyperlink{g__zero_8c_ab70a24ff1a2a09a9282089f71249cf51}{MODULE\_VERSION}}(geom\_zero, 0);}

\end{DoxyCode}
