summaryrefslogtreecommitdiff
path: root/doc/xsd/internetsharing.xsd
blob: 8a47e1f2ac6ce0fe89a9f363c65aecaddf19ceab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?xml version="1.0"?>
<schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en">
  
  <annotation>
    <documentation>
	 
	 Internet sharing configurator XML format for the ximian-setup-tool backends.
	 
	 Copyright (C) 2001 Ximian, Inc.
	 
	 Authors: Arturo Espinosa [arturo@ximian.com]
	 
	 This is intended mainly as a means for documentation, not validation,
	 but I hope to be able to validate the XML we get and return to
	 backends with these files some day.
    </documentation>
  </annotation>
  
  <!-- Include file with useful types and stuff -->
  <include schemaLocation="gst.xsd"/>

  <!-- Include the network-specific types. -->
  <include schemaLocation="networktypes.xsd"/>

  <element type="internetsharingType" name="internetsharing"/>

  <complexType name="internetsharingType">
    <sequence>
      <element type="fwrulesType"   name="fwrules"   minOccurs="0"/>
	 <element type="dhcpType"      name="dhcp"      minOccurs="0"/>
	 <element type="interfaceType" name="interface" minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
  </complexType>

  <!-- This tag may be expanded with more masquerading options. -->
  <complexType name="fwrulesType">
    <sequence>
      <!-- Those tags described by questions are only useful for the get operation, and will be -->
	 <!-- ignored during --set. -->

      <!-- active: If setting, start/stop ipchains 'service'. If getting, the state of the service. -->
      <element type="gstBool" name="active"    minOccurs="0"/>
	 
	 <!-- configured: Are there any ipchains/iptables/ipfwadm masq rules already in the kernel? -->
      <element type="gstBool" name="configured"/>

	 <!-- forwarding: Is there forwarding kernel support? -->
      <element type="gstBool" name="forwarding"/>
	 
	 <!-- kerneltool: Is there kernel support for the (ipchains, iptables, ipfwadm) tool? -->
      <element type="gstBool" name="kerneltool"/>
	 
	 <!-- landev: Those network adapters that will be used as landevs. -->
      <element type="string" name="landev"    minOccurs="0" maxOccurs="unbounded"/>
	 
	 <!-- masquerading: Is there kernel masquerading support? -->
      <element type="gstBool" name="masquerading"/>
	 
	 <!-- overwrite: set-only: overwrite existing forward-MASQ rules with our own? -->
      <element type="gstBool" name="overwrite" minOccurs="0"/>
	 
	 <!-- tools: are the (ipchains, iptables, ipfwadm) tools installed? (ie /sbin/ipchains) -->
      <element type="gstBool" name="tools"/>
    </sequence>
  </complexType>

  <complexType name="dhcpType">
    <sequence>
      <!-- Those tags described by questions are only useful for the get operation, and will be -->
	 <!-- ignored during --set. -->

	 <!-- active: If setting, start/stop dhcpd service. If getting, the state of the service. -->
      <element type="gstBool" name="active"    minOccurs="0"/>

	 <!-- configured: Is there an /etc/dhcpd.conf or equivalent conf file? --> 
      <element type="gstBool" name="configured"/>

	 <!-- dev: Those network adapters that will be listened to for dhcp requests. -->
	 <!-- Must have HWaddr (mac or similar).-->
      <element type="string" name="dev"       minOccurs="0" maxOccurs="unbounded"/>

	 <!-- installed: Is dhcpd or equivalent installed? -->
      <element type="gstBool" name="installed"/>

	 <!-- overwrite: set-only: overwrite existing dhcp.conf or equivalent with our own stuff? -->
      <element type="gstBool" name="overwrite" minOccurs="0"/>
    </sequence>
  </complexType>

</schema>