b747f0ca31be1658c0b519085a237db046ff4a3c
[freeside.git] / htdocs / docs / man / FS / port.html
1 <HTML>
2 <HEAD>
3 <TITLE>FS::port - Object methods for port records</TITLE>
4 <LINK REV="made" HREF="mailto:perl@packages.debian.org">
5 </HEAD>
6
7 <BODY>
8
9 <A NAME="__index__"></A>
10 <!-- INDEX BEGIN -->
11
12 <UL>
13
14         <LI><A HREF="#name">NAME</A></LI>
15         <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
16         <LI><A HREF="#description">DESCRIPTION</A></LI>
17         <LI><A HREF="#methods">METHODS</A></LI>
18         <LI><A HREF="#version">VERSION</A></LI>
19         <LI><A HREF="#bugs">BUGS</A></LI>
20         <LI><A HREF="#see also">SEE ALSO</A></LI>
21 </UL>
22 <!-- INDEX END -->
23
24 <HR>
25 <P>
26 <H1><A NAME="name">NAME</A></H1>
27 <P>FS::port - Object methods for port records</P>
28 <P>
29 <HR>
30 <H1><A NAME="synopsis">SYNOPSIS</A></H1>
31 <PRE>
32   use FS::port;</PRE>
33 <PRE>
34   $record = new FS::port \%hash;
35   $record = new FS::port { 'column' =&gt; 'value' };</PRE>
36 <PRE>
37   $error = $record-&gt;insert;</PRE>
38 <PRE>
39   $error = $new_record-&gt;replace($old_record);</PRE>
40 <PRE>
41   $error = $record-&gt;delete;</PRE>
42 <PRE>
43   $error = $record-&gt;check;</PRE>
44 <PRE>
45   $session = $port-&gt;session;</PRE>
46 <P>
47 <HR>
48 <H1><A NAME="description">DESCRIPTION</A></H1>
49 <P>An FS::port object represents an individual port on a NAS.  FS::port inherits
50 from FS::Record.  The following fields are currently supported:</P>
51 <DL>
52 <DT><STRONG><A NAME="item_portnum_%2D_primary_key">portnum - primary key</A></STRONG><BR>
53 <DD>
54 <DT><STRONG><A NAME="item_ip_%2D_IP_address_of_this_port">ip - IP address of this port</A></STRONG><BR>
55 <DD>
56 <DT><STRONG><A NAME="item_nasport_%2D_port_number_on_the_NAS">nasport - port number on the NAS</A></STRONG><BR>
57 <DD>
58 <DT><STRONG><A NAME="item_nasnum_%2D_NAS_this_port_is_on_%2D_see_FS%3A%3Anas">nasnum - NAS this port is on - see <A HREF=".././FS/nas.html">the FS::nas manpage</A></A></STRONG><BR>
59 <DD>
60 </DL>
61 <P>
62 <HR>
63 <H1><A NAME="methods">METHODS</A></H1>
64 <DL>
65 <DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
66 <DD>
67 Creates a new port.  To add the example to the database, see <A HREF="#insert">insert</A>.
68 <P>Note that this stores the hash reference, not a distinct copy of the hash it
69 points to.  You can ask the object for a copy with the <EM>hash</EM> method.</P>
70 <P></P>
71 <DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
72 <DD>
73 Adds this record to the database.  If there is an error, returns the error,
74 otherwise returns false.
75 <P></P>
76 <DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
77 <DD>
78 Delete this record from the database.
79 <P></P>
80 <DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
81 <DD>
82 Replaces the OLD_RECORD with this one in the database.  If there is an error,
83 returns the error, otherwise returns false.
84 <P></P>
85 <DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
86 <DD>
87 Checks all fields to make sure this is a valid example.  If there is
88 an error, returns the error, otherwise returns false.  Called by the insert
89 and replace methods.
90 <P></P>
91 <DT><STRONG><A NAME="item_session">session</A></STRONG><BR>
92 <DD>
93 Returns the currently open session on this port, or if no session is currently
94 open, the most recent session.  See <A HREF=".././FS/session.html">the FS::session manpage</A>.
95 <P></P></DL>
96 <P>
97 <HR>
98 <H1><A NAME="version">VERSION</A></H1>
99 <P>$Id: port.html,v 1.1 2001-04-23 12:41:57 ivan Exp $</P>
100 <P>
101 <HR>
102 <H1><A NAME="bugs">BUGS</A></H1>
103 <P>The author forgot to customize this manpage.</P>
104 <P>The session method won't deal well if you have multiple open sessions on a
105 port, for example if your RADIUS server drops <STRONG>stop</STRONG> records.  Suggestions for
106 how to deal with this sort of lossage welcome; should we close the session
107 when we get a new session on that port?  Tag it as invalid somehow?  Close it
108 one second after it was opened?  *sigh*  Maybe FS::session shouldn't let you
109 create overlapping sessions, at least folks will find out their logging is
110 dropping records.</P>
111 <P>If you think the above refers multiple user logins you need to read the
112 manpages again.</P>
113 <P>
114 <HR>
115 <H1><A NAME="see also">SEE ALSO</A></H1>
116 <P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, schema.html from the base documentation.</P>
117
118 </BODY>
119
120 </HTML>