<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>