/
html/
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.51
     from ProgrammersManual.texinfo on 4 March 1997 -->

<TITLE>LambdaMOO Programmer's Manual - Restricting Built-ins</TITLE>
</HEAD>
<BODY>
Go to the <A HREF="ProgrammersManual_1.html">first</A>, <A HREF="ProgrammersManual_72.html">previous</A>, <A HREF="ProgrammersManual_74.html">next</A>, <A HREF="ProgrammersManual_77.html">last</A> section, <A HREF="ProgrammersManual_toc.html">table of contents</A>.
<P><HR><P>


<H3><A NAME="SEC73" HREF="ProgrammersManual_toc.html#TOC73">Restricting Access to Built-in Properties and Functions</A></H3>

<P>
Whenever verb code attempts to read the value of a built-in property <VAR>prop</VAR>
on any object, the server checks to see if the property
<CODE>$server_options.protect_<VAR>prop</VAR></CODE> exists and has a true value.  If so,
then <CODE>E_PERM</CODE> is raised if the programmer is not a wizard.

</P>
<P>
Whenever verb code calls a built-in function <CODE><VAR>func</VAR>()</CODE> and the caller
is not the object <CODE>#0</CODE>, the server checks to see if the property
<CODE>$server_options.protect_<VAR>func</VAR></CODE> exists and has a true value.  If so,
then the server next checks to see if the verb <CODE>$bf_<VAR>func</VAR>()</CODE> exists;
if that verb exists, then the server calls it <EM>instead</EM> of the built-in
function, returning or raising whatever that verb returns or raises.  If the
<CODE>$bf_<VAR>func</VAR>()</CODE> does not exist and the programmer is not a wizard, then
the server immediately raises <CODE>E_PERM</CODE>, <EM>without</EM> actually calling
the function.  Otherwise (if the caller is <CODE>#0</CODE>, if
<CODE>$server_options.protect_<VAR>func</VAR></CODE> either doesn't exist or has a false
value, or if <CODE>$bf_<VAR>func</VAR>()</CODE> exists but the programmer is a wizard),
then the built-in function is called normally.

</P>
<P><HR><P>
Go to the <A HREF="ProgrammersManual_1.html">first</A>, <A HREF="ProgrammersManual_72.html">previous</A>, <A HREF="ProgrammersManual_74.html">next</A>, <A HREF="ProgrammersManual_77.html">last</A> section, <A HREF="ProgrammersManual_toc.html">table of contents</A>.
</BODY>
</HTML>