<?xml version="1.0"?>
<binder-object>
	<prototype perms="r"/>
	<object name="application" perms="r">
		<prototype perms="rmd"/>
	</object>
	<object name="user" handler="user_node">args to the user root node</object>
	<object name="service" perms="rmd">
		<object name="audio" perms="r">
			<!-- Jon? -->
			<prototype perms="rw" stacking="true"/>
		</object>
		<object name="locale" perms="r">
			<prototype perms="rw" stacking="true"/>
			<string name="language">en</string>
		</object>
		<object name="web" perms="r">
			<prototype storage="/boot/binder/service/web" perms="rw" stacking="true"/>
			<object name="state">
				<!-- The UI engine uses this node to store state between browser launches -->
				<prototype perms="rwcdm" transient="true"/>
			</object>
			<object name="macros">
				<!-- Macros that can be used in URLs. -->
				<prototype perms="rwcd"/>
				<string name="RESOURCES">/boot/custom/resources/en</string>				<!-- The location of local content -->
				<string name="SCRIPTS">/boot/custom/cgi-bin</string>					<!-- The location of local cgi-bins (largely deprecated) -->
			</object>
			<object name="proxy">
				<prototype perms="rw"/>
				<string name="http_server"></string>									<!-- Name of the HTTP proxy server -->
				<string name="http_port"></string>										<!-- Port on the server to use -->
			</object>
			<object name="navigator">
				<!-- Various data exposed through the DOM 'navigator' object
					 'user_agent' is also sent in the HTTP header -->
				<prototype perms="rw"/>
				<string name="user_agent">Mozilla/4.72 [en] (Win98; I)</string>
				<string name="app_version">4.72 (Win98; I)</string>
				<string name="app_name">Netscape</string>
				<string name="app_code_name">Mozilla</string>
				<string name="platform">Win98</string>
			</object>
			<object name="security">
				<prototype perms="r"/>
				<!--
					Security Groups are designated by URL.  Wildcards are used for partial
					matches.  Be careful.  Putting a wildcard in the middle of a URL could
					cause a match that's symbolically correct, but poses a security threat.
					For example:
					
					*://secure.partner.com/important_files
					
					Would match
					
					http://hax0r.evil.com/schemes/plots/1/backdoor://secure.partner.com/important_files
					
					Giving that URL permissions to whatever the secure server was supposed to.
					Only use wildcards on the end of URLs.
				-->
				<object name="groups" perms="r">
					<prototype ordered='true' perms="rwcd"/>
					<string name="file:///boot/custom/*">custom_content</string>
					<string name="file://$RESOURCES/*">custom_content</string>
					<string name="file://$SCRIPTS/*">custom_content</string>
					<string name="X">intranet</string>
					<string name="*">internet</string>
					<string name="beos:*">internet</string>
					<string name="file:*">local_machine</string>
				</object>

				<!--
					An access control list entry designates a target resource class
					that gets accessed, a group that attempts the access and
					a permission type.  For example: local_machine internet deny
					means that internet pages cannot access local_machine pages.
				-->
				<object name="acl" perms="r">
					<prototype ordered='true' perms="rwcd"/>
					<object name="custom_content">
						<prototype perms="rwcd"/>
						<string name="custom_content">grant</string>
					</object>
					<object name="intranet">
						<!-- The intranet group is currently undefined -->
						<prototype perms="rwcd"/>
						<string name="custom_content">grant</string>
					</object>
					<object name="internet">
						<prototype perms="rwcd"/>
						<string name="all">grant</string>
					</object>
					<object name="local_machine">
						<prototype perms="rwcd"/>
						<string name="all">grant</string>
						<string name="internet">revoke</string>
						<string name="intranet">revoke</string>
					</object>
				</object>
			</object>
		</object>
		<object name="mca" perms="r">
			<!--
			The MAP Client Agent exposes the following functionality here:
			
				function DMS_Connect(id)
					Opens the slave connection of a DMS session that is initiated by
					the vendor web content.  It contacts the DMS slave entrypoint
					specified by slave_url.
					
						id(string) ->	the connection ID as specified by the controlling agent,
										usually the vendor web content
					
					This call will fail and return an error if a DMS connection is already open.

				function DMS_UpdatePoll()
					Polls the DMS server for any pending updates to the device.
					Expects to be connected, and will fail otherwise.

				function Visit(name,url)
					Visits the given URL, usually for the purposes of executing any
					nefarious Javascript it may care to send.  This is a way for
					vendors to command the MAP client agent (to implement their own
					update system, download separate content updates, etc.)
					Expects to be connected, and will fail otherwise.

				The rest of this node will be documented soon.
			-->
		</object>
		<object name="network" perms="rwcdm">
			<!-- other properties not visible here: -->
			<!-- property DNS/domain -->
			<!-- property DNS/primary -->
			<!-- property DNS/secondary -->
			<!-- property status -->
			<!-- property pppstatus -->
			<!-- property bandwidth -->
			<!-- property bandwidth_hiwat -->
			<!-- function PPP_Up() -->
			<!-- function PPP_Down() -->
			<!-- note: This node is getting revved. THESE PROPERTIES WILL CHANGE. -->
			<prototype storage="/boot/home/config/settings/binder/network" perms="rwcdm" stacking="true"/>
		</object>
		<object name="printing" perms="r">
			<prototype perms="rm"/>
		</object>
		<object name="softkeyboard" perms="r">
			<prototype perms="rw"/>
			<number name="repeat_delay">750000</number>
			<number name="repeat_rate">13</number>
		</object>
		<object name="system" perms="r">
			<!-- Anyone? -->
			<prototype perms="r"/>
			<inherit handler="bios_node">args to the bios node</inherit>
			<object name="recovery" handler="recovery_node">args to the recovery node</object>
			<object name="datetime" handler="datetime_node">args to the datetime node</object>
			<string name="product">BeIA</string>
			<string name="version">1.0rc0-Appliance</string>
			<string name="build">2000.09.11</string>
			<string name="bootmode">tools</string>
			<string name="altq">1</string>
		</object>
		<object name="video" perms="r">
			<prototype perms="rw" stacking="true"/>
		</object>
		<object name="vendor" perms="r">
			<prototype storage="/boot/binder/service/vendor" perms="rwcdm" stacking="true"/>
		</object>
	</object>
	<include storage="/boot/home/config/settings/binder/extension-map"/>
	<include storage="/boot/home/config/settings/binder/device-specific-root"/>
	<include storage="/boot/home/config/settings/binder/vendor-specific-root"/>
</binder-object>
