Inicio documentación Doxygen
git-svn-id: https://opengnsys.es/svn/trunk@69 a21b9725-9963-47de-94b9-378ad31fedc9remotes/github/debian-pkg
parent
9dac5411e5
commit
58e71956e4
|
@ -0,0 +1,80 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>Fichero Fuente Hidra/includes/Database.h</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generado por Doxygen 1.5.5 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Página principal</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Archivos</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h1>Hidra/includes/Database.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// ******************************************************************************************************</span>
|
||||
<a name="l00002"></a>00002 <span class="comment">// Aplicaci<63> HIDRA</span>
|
||||
<a name="l00003"></a>00003 <span class="comment">// Copyright 2004 Jos<6F>Manuel Alonso. Todos los derechos reservados.</span>
|
||||
<a name="l00004"></a>00004 <span class="comment">// Fichero: Database.h</span>
|
||||
<a name="l00005"></a>00005 <span class="comment">// Descripci<63>:</span>
|
||||
<a name="l00006"></a>00006 <span class="comment">// Fichero de cabecera de la clase Database para implementar funciones de manipulaci<63></span>
|
||||
<a name="l00007"></a>00007 <span class="comment">// de bases de datos sobre un Servidor Mysql</span>
|
||||
<a name="l00008"></a>00008 <span class="comment">// ******************************************************************************************************</span>
|
||||
<a name="l00009"></a>00009 <span class="preprocessor">#include <stdio.h></span>
|
||||
<a name="l00010"></a>00010 <span class="preprocessor">#include <stdlib.h></span>
|
||||
<a name="l00011"></a>00011 <span class="preprocessor">#include <string.h></span>
|
||||
<a name="l00012"></a>00012 <span class="preprocessor">#include </usr/include/mysql/mysql.h></span>
|
||||
<a name="l00013"></a>00013 <span class="comment">// __________________________________________________________________________</span>
|
||||
<a name="l00014"></a>00014 <span class="keyword">class </span>Database;
|
||||
<a name="l00015"></a>00015 <span class="keyword">class </span>Table;
|
||||
<a name="l00016"></a>00016 <span class="comment">// __________________________________________________________________________</span>
|
||||
<a name="l00017"></a>00017 <span class="keyword">class </span>Database
|
||||
<a name="l00018"></a>00018 {
|
||||
<a name="l00019"></a>00019 <span class="keyword">public</span>:
|
||||
<a name="l00020"></a>00020 MYSQL *m_Cnn;
|
||||
<a name="l00021"></a>00021 <span class="keywordtype">char</span> m_ErrStr[500];
|
||||
<a name="l00022"></a>00022 Database();
|
||||
<a name="l00023"></a>00023 <span class="keywordtype">bool</span> Open(<span class="keywordtype">char</span>* UserName, <span class="keywordtype">char</span>* Pwd,<span class="keywordtype">char</span>* server,<span class="keywordtype">char</span>*Database);
|
||||
<a name="l00024"></a>00024 <span class="keywordtype">bool</span> OpenTbl(<span class="keywordtype">int</span> Mode, <span class="keywordtype">char</span>* CmdStr, Table& Tbl);
|
||||
<a name="l00025"></a>00025 <span class="keywordtype">bool</span> Close(<span class="keywordtype">void</span>);
|
||||
<a name="l00026"></a>00026 <span class="keywordtype">bool</span> Execute(<span class="keywordtype">char</span>* CmdStr);
|
||||
<a name="l00027"></a>00027 <span class="keywordtype">bool</span> Execute(<span class="keywordtype">char</span>* CmdStr, Table& Tbl);
|
||||
<a name="l00028"></a>00028 <span class="keywordtype">void</span> GetErrorErrStr(<span class="keywordtype">char</span>* ErrStr);
|
||||
<a name="l00029"></a>00029 };
|
||||
<a name="l00030"></a>00030 <span class="comment">// __________________________________________________________________________</span>
|
||||
<a name="l00031"></a>00031 <span class="keyword">class </span>Table{
|
||||
<a name="l00032"></a>00032 <span class="keywordtype">char</span>* tomadato(<span class="keywordtype">char</span>* FieldName);
|
||||
<a name="l00033"></a>00033 <span class="keyword">public</span>:
|
||||
<a name="l00034"></a>00034 <span class="keywordtype">bool</span> eof,bof;
|
||||
<a name="l00035"></a>00035 MYSQL_RES * m_Rec ;
|
||||
<a name="l00036"></a>00036 MYSQL_FIELD *fields;
|
||||
<a name="l00037"></a>00037 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> num_fields;
|
||||
<a name="l00038"></a>00038 MYSQL_ROW row ;
|
||||
<a name="l00039"></a>00039 MYSQL_ROW_OFFSET ptr;
|
||||
<a name="l00040"></a>00040 my_ulonglong numreg;
|
||||
<a name="l00041"></a>00041 <span class="keywordtype">char</span> m_ErrStr[500];
|
||||
<a name="l00042"></a>00042 Table();
|
||||
<a name="l00043"></a>00043 <span class="keywordtype">void</span> GetErrorErrStr(<span class="keywordtype">char</span>* ErrStr);
|
||||
<a name="l00044"></a>00044 <span class="keywordtype">bool</span> ISEOF();
|
||||
<a name="l00045"></a>00045 <span class="keywordtype">bool</span> MoveNext();
|
||||
<a name="l00046"></a>00046 <span class="keywordtype">bool</span> MovePrevious();
|
||||
<a name="l00047"></a>00047 <span class="keywordtype">bool</span> MoveFirst();
|
||||
<a name="l00048"></a>00048 <span class="keywordtype">bool</span> MoveLast();
|
||||
<a name="l00049"></a>00049
|
||||
<a name="l00050"></a>00050 <span class="keywordtype">bool</span> Get(<span class="keywordtype">char</span>* FieldName, <span class="keywordtype">char</span>* FieldValue);
|
||||
<a name="l00051"></a>00051 <span class="keywordtype">bool</span> Get(<span class="keywordtype">char</span>* FieldName,<span class="keywordtype">int</span> &FieldValue);
|
||||
<a name="l00052"></a>00052 <span class="keywordtype">bool</span> Get(<span class="keywordtype">char</span>* FieldName,<span class="keywordtype">char</span> &FieldValue);
|
||||
<a name="l00053"></a>00053 };
|
||||
<a name="l00054"></a>00054 <span class="comment">// __________________________________________________________________________</span>
|
||||
<a name="l00055"></a>00055 <span class="keyword">class </span>Herror
|
||||
<a name="l00056"></a>00056 {
|
||||
<a name="l00057"></a>00057 <span class="keyword">public</span>:
|
||||
<a name="l00058"></a>00058 <span class="keywordtype">int</span> nError; <span class="comment">// C<>igo del error</span>
|
||||
<a name="l00059"></a>00059 <span class="keywordtype">char</span> dError[500]; <span class="comment">// Descripci<63> del error</span>
|
||||
<a name="l00060"></a>00060 };
|
||||
</pre></div></div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generado el Mon Jun 15 10:24:00 2009 por
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,433 @@
|
|||
BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
|
||||
font-family: Geneva, Arial, Helvetica, sans-serif;
|
||||
}
|
||||
BODY,TD {
|
||||
font-size: 90%;
|
||||
}
|
||||
H1 {
|
||||
text-align: center;
|
||||
font-size: 160%;
|
||||
}
|
||||
H2 {
|
||||
font-size: 120%;
|
||||
}
|
||||
H3 {
|
||||
font-size: 100%;
|
||||
}
|
||||
CAPTION {
|
||||
font-weight: bold
|
||||
}
|
||||
DIV.qindex {
|
||||
width: 100%;
|
||||
background-color: #e8eef2;
|
||||
border: 1px solid #84b0c7;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
padding: 2px;
|
||||
line-height: 140%;
|
||||
}
|
||||
DIV.navpath {
|
||||
width: 100%;
|
||||
background-color: #e8eef2;
|
||||
border: 1px solid #84b0c7;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
padding: 2px;
|
||||
line-height: 140%;
|
||||
}
|
||||
DIV.navtab {
|
||||
background-color: #e8eef2;
|
||||
border: 1px solid #84b0c7;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
margin-right: 15px;
|
||||
padding: 2px;
|
||||
}
|
||||
TD.navtab {
|
||||
font-size: 70%;
|
||||
}
|
||||
A.qindex {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
color: #1A419D;
|
||||
}
|
||||
A.qindex:visited {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
color: #1A419D
|
||||
}
|
||||
A.qindex:hover {
|
||||
text-decoration: none;
|
||||
background-color: #ddddff;
|
||||
}
|
||||
A.qindexHL {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
background-color: #6666cc;
|
||||
color: #ffffff;
|
||||
border: 1px double #9295C2;
|
||||
}
|
||||
A.qindexHL:hover {
|
||||
text-decoration: none;
|
||||
background-color: #6666cc;
|
||||
color: #ffffff;
|
||||
}
|
||||
A.qindexHL:visited {
|
||||
text-decoration: none;
|
||||
background-color: #6666cc;
|
||||
color: #ffffff
|
||||
}
|
||||
A.el {
|
||||
text-decoration: none;
|
||||
font-weight: bold
|
||||
}
|
||||
A.elRef {
|
||||
font-weight: bold
|
||||
}
|
||||
A.code:link {
|
||||
text-decoration: none;
|
||||
font-weight: normal;
|
||||
color: #0000FF
|
||||
}
|
||||
A.code:visited {
|
||||
text-decoration: none;
|
||||
font-weight: normal;
|
||||
color: #0000FF
|
||||
}
|
||||
A.codeRef:link {
|
||||
font-weight: normal;
|
||||
color: #0000FF
|
||||
}
|
||||
A.codeRef:visited {
|
||||
font-weight: normal;
|
||||
color: #0000FF
|
||||
}
|
||||
A:hover {
|
||||
text-decoration: none;
|
||||
background-color: #f2f2ff
|
||||
}
|
||||
DL.el {
|
||||
margin-left: -1cm
|
||||
}
|
||||
.fragment {
|
||||
font-family: monospace, fixed;
|
||||
font-size: 95%;
|
||||
}
|
||||
PRE.fragment {
|
||||
border: 1px solid #CCCCCC;
|
||||
background-color: #f5f5f5;
|
||||
margin-top: 4px;
|
||||
margin-bottom: 4px;
|
||||
margin-left: 2px;
|
||||
margin-right: 8px;
|
||||
padding-left: 6px;
|
||||
padding-right: 6px;
|
||||
padding-top: 4px;
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
DIV.ah {
|
||||
background-color: black;
|
||||
font-weight: bold;
|
||||
color: #ffffff;
|
||||
margin-bottom: 3px;
|
||||
margin-top: 3px
|
||||
}
|
||||
|
||||
DIV.groupHeader {
|
||||
margin-left: 16px;
|
||||
margin-top: 12px;
|
||||
margin-bottom: 6px;
|
||||
font-weight: bold;
|
||||
}
|
||||
DIV.groupText {
|
||||
margin-left: 16px;
|
||||
font-style: italic;
|
||||
font-size: 90%
|
||||
}
|
||||
BODY {
|
||||
background: white;
|
||||
color: black;
|
||||
margin-right: 20px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
TD.indexkey {
|
||||
background-color: #e8eef2;
|
||||
font-weight: bold;
|
||||
padding-right : 10px;
|
||||
padding-top : 2px;
|
||||
padding-left : 10px;
|
||||
padding-bottom : 2px;
|
||||
margin-left : 0px;
|
||||
margin-right : 0px;
|
||||
margin-top : 2px;
|
||||
margin-bottom : 2px;
|
||||
border: 1px solid #CCCCCC;
|
||||
}
|
||||
TD.indexvalue {
|
||||
background-color: #e8eef2;
|
||||
font-style: italic;
|
||||
padding-right : 10px;
|
||||
padding-top : 2px;
|
||||
padding-left : 10px;
|
||||
padding-bottom : 2px;
|
||||
margin-left : 0px;
|
||||
margin-right : 0px;
|
||||
margin-top : 2px;
|
||||
margin-bottom : 2px;
|
||||
border: 1px solid #CCCCCC;
|
||||
}
|
||||
TR.memlist {
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
P.formulaDsp {
|
||||
text-align: center;
|
||||
}
|
||||
IMG.formulaDsp {
|
||||
}
|
||||
IMG.formulaInl {
|
||||
vertical-align: middle;
|
||||
}
|
||||
SPAN.keyword { color: #008000 }
|
||||
SPAN.keywordtype { color: #604020 }
|
||||
SPAN.keywordflow { color: #e08000 }
|
||||
SPAN.comment { color: #800000 }
|
||||
SPAN.preprocessor { color: #806020 }
|
||||
SPAN.stringliteral { color: #002080 }
|
||||
SPAN.charliteral { color: #008080 }
|
||||
SPAN.vhdldigit { color: #ff00ff }
|
||||
SPAN.vhdlchar { color: #000000 }
|
||||
SPAN.vhdlkeyword { color: #700070 }
|
||||
SPAN.vhdllogic { color: #ff0000 }
|
||||
|
||||
.mdescLeft {
|
||||
padding: 0px 8px 4px 8px;
|
||||
font-size: 80%;
|
||||
font-style: italic;
|
||||
background-color: #FAFAFA;
|
||||
border-top: 1px none #E0E0E0;
|
||||
border-right: 1px none #E0E0E0;
|
||||
border-bottom: 1px none #E0E0E0;
|
||||
border-left: 1px none #E0E0E0;
|
||||
margin: 0px;
|
||||
}
|
||||
.mdescRight {
|
||||
padding: 0px 8px 4px 8px;
|
||||
font-size: 80%;
|
||||
font-style: italic;
|
||||
background-color: #FAFAFA;
|
||||
border-top: 1px none #E0E0E0;
|
||||
border-right: 1px none #E0E0E0;
|
||||
border-bottom: 1px none #E0E0E0;
|
||||
border-left: 1px none #E0E0E0;
|
||||
margin: 0px;
|
||||
}
|
||||
.memItemLeft {
|
||||
padding: 1px 0px 0px 8px;
|
||||
margin: 4px;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
border-top-color: #E0E0E0;
|
||||
border-right-color: #E0E0E0;
|
||||
border-bottom-color: #E0E0E0;
|
||||
border-left-color: #E0E0E0;
|
||||
border-top-style: solid;
|
||||
border-right-style: none;
|
||||
border-bottom-style: none;
|
||||
border-left-style: none;
|
||||
background-color: #FAFAFA;
|
||||
font-size: 80%;
|
||||
}
|
||||
.memItemRight {
|
||||
padding: 1px 8px 0px 8px;
|
||||
margin: 4px;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
border-top-color: #E0E0E0;
|
||||
border-right-color: #E0E0E0;
|
||||
border-bottom-color: #E0E0E0;
|
||||
border-left-color: #E0E0E0;
|
||||
border-top-style: solid;
|
||||
border-right-style: none;
|
||||
border-bottom-style: none;
|
||||
border-left-style: none;
|
||||
background-color: #FAFAFA;
|
||||
font-size: 80%;
|
||||
}
|
||||
.memTemplItemLeft {
|
||||
padding: 1px 0px 0px 8px;
|
||||
margin: 4px;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
border-top-color: #E0E0E0;
|
||||
border-right-color: #E0E0E0;
|
||||
border-bottom-color: #E0E0E0;
|
||||
border-left-color: #E0E0E0;
|
||||
border-top-style: none;
|
||||
border-right-style: none;
|
||||
border-bottom-style: none;
|
||||
border-left-style: none;
|
||||
background-color: #FAFAFA;
|
||||
font-size: 80%;
|
||||
}
|
||||
.memTemplItemRight {
|
||||
padding: 1px 8px 0px 8px;
|
||||
margin: 4px;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
border-top-color: #E0E0E0;
|
||||
border-right-color: #E0E0E0;
|
||||
border-bottom-color: #E0E0E0;
|
||||
border-left-color: #E0E0E0;
|
||||
border-top-style: none;
|
||||
border-right-style: none;
|
||||
border-bottom-style: none;
|
||||
border-left-style: none;
|
||||
background-color: #FAFAFA;
|
||||
font-size: 80%;
|
||||
}
|
||||
.memTemplParams {
|
||||
padding: 1px 0px 0px 8px;
|
||||
margin: 4px;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
border-top-color: #E0E0E0;
|
||||
border-right-color: #E0E0E0;
|
||||
border-bottom-color: #E0E0E0;
|
||||
border-left-color: #E0E0E0;
|
||||
border-top-style: solid;
|
||||
border-right-style: none;
|
||||
border-bottom-style: none;
|
||||
border-left-style: none;
|
||||
color: #606060;
|
||||
background-color: #FAFAFA;
|
||||
font-size: 80%;
|
||||
}
|
||||
.search {
|
||||
color: #003399;
|
||||
font-weight: bold;
|
||||
}
|
||||
FORM.search {
|
||||
margin-bottom: 0px;
|
||||
margin-top: 0px;
|
||||
}
|
||||
INPUT.search {
|
||||
font-size: 75%;
|
||||
color: #000080;
|
||||
font-weight: normal;
|
||||
background-color: #e8eef2;
|
||||
}
|
||||
TD.tiny {
|
||||
font-size: 75%;
|
||||
}
|
||||
a {
|
||||
color: #1A41A8;
|
||||
}
|
||||
a:visited {
|
||||
color: #2A3798;
|
||||
}
|
||||
.dirtab {
|
||||
padding: 4px;
|
||||
border-collapse: collapse;
|
||||
border: 1px solid #84b0c7;
|
||||
}
|
||||
TH.dirtab {
|
||||
background: #e8eef2;
|
||||
font-weight: bold;
|
||||
}
|
||||
HR {
|
||||
height: 1px;
|
||||
border: none;
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
|
||||
/* Style for detailed member documentation */
|
||||
.memtemplate {
|
||||
font-size: 80%;
|
||||
color: #606060;
|
||||
font-weight: normal;
|
||||
margin-left: 3px;
|
||||
}
|
||||
.memnav {
|
||||
background-color: #e8eef2;
|
||||
border: 1px solid #84b0c7;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
margin-right: 15px;
|
||||
padding: 2px;
|
||||
}
|
||||
.memitem {
|
||||
padding: 4px;
|
||||
background-color: #eef3f5;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: #dedeee;
|
||||
-moz-border-radius: 8px 8px 8px 8px;
|
||||
}
|
||||
.memname {
|
||||
white-space: nowrap;
|
||||
font-weight: bold;
|
||||
}
|
||||
.memdoc{
|
||||
padding-left: 10px;
|
||||
}
|
||||
.memproto {
|
||||
background-color: #d5e1e8;
|
||||
width: 100%;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: #84b0c7;
|
||||
font-weight: bold;
|
||||
-moz-border-radius: 8px 8px 8px 8px;
|
||||
}
|
||||
.paramkey {
|
||||
text-align: right;
|
||||
}
|
||||
.paramtype {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.paramname {
|
||||
color: #602020;
|
||||
font-style: italic;
|
||||
white-space: nowrap;
|
||||
}
|
||||
/* End Styling for detailed member documentation */
|
||||
|
||||
/* for the tree view */
|
||||
.ftvtree {
|
||||
font-family: sans-serif;
|
||||
margin:0.5em;
|
||||
}
|
||||
.directory {
|
||||
font-size: 9pt;
|
||||
font-weight: bold;
|
||||
}
|
||||
.directory h3 {
|
||||
margin: 0px;
|
||||
margin-top: 1em;
|
||||
font-size: 11pt;
|
||||
}
|
||||
.directory > h3 {
|
||||
margin-top: 0;
|
||||
}
|
||||
.directory p {
|
||||
margin: 0px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.directory div {
|
||||
display: none;
|
||||
margin: 0px;
|
||||
}
|
||||
.directory img {
|
||||
vertical-align: -30%;
|
||||
}
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
|
@ -0,0 +1,34 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>Fichero Fuente Hidra/includes/encriptacion.h</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generado por Doxygen 1.5.5 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Página principal</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Archivos</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h1>Hidra/includes/encriptacion.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// ********************************************************************************************************************************************************</span>
|
||||
<a name="l00002"></a>00002 <span class="comment">// Aplicacin HIDRA</span>
|
||||
<a name="l00003"></a>00003 <span class="comment">// Copyright 2003-2005 Jos Manuel Alonso. Todos los derechos reservados.</span>
|
||||
<a name="l00004"></a>00004 <span class="comment">// Fichero: encriptacion.h</span>
|
||||
<a name="l00005"></a>00005 <span class="comment">// Descripcin:</span>
|
||||
<a name="l00006"></a>00006 <span class="comment">// Este proyecto implementa el servicio hidra en un ordenador con plataforma windows NT. Este fichero aporta las funciones de </span>
|
||||
<a name="l00007"></a>00007 <span class="comment">// encriptacin para las comunicaciones a travs de la red.</span>
|
||||
<a name="l00008"></a>00008 <span class="comment">// *********************************************************************************************************************************************************</span>
|
||||
<a name="l00009"></a>00009 <span class="comment">//_____________________________________________________________________________________________________________</span>
|
||||
<a name="l00010"></a>00010 <span class="comment">//</span>
|
||||
<a name="l00011"></a>00011 <span class="preprocessor">#include <string.h></span>
|
||||
<a name="l00012"></a>00012
|
||||
<a name="l00013"></a>00013 <span class="keywordtype">char</span> * Desencriptar(<span class="keywordtype">char</span> *);
|
||||
<a name="l00014"></a>00014 <span class="keywordtype">char</span> * Encriptar(<span class="keywordtype">char</span> *);
|
||||
</pre></div></div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generado el Mon Jun 15 10:24:00 2009 por
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,30 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>Indice de archivos</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generado por Doxygen 1.5.5 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Página principal</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Archivos</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>Lista de archivos</h1>Lista de todos los archivos documentados y con descripciones breves:<table>
|
||||
<tr><td class="indexkey">Hidra/hidra/fuentes/<b>hidra.h</b> <a href="hidra_8h-source.html">[código]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey">Hidra/hidraboot/fuentes/<b>hidraboot.h</b> <a href="hidraboot_8h-source.html">[código]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey">Hidra/hidrac/fuentes/<b>hidrac.h</b> <a href="hidrac_8h-source.html">[código]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey">Hidra/hidrarepos/fuentes/<b>hidrarepos.h</b> <a href="hidrarepos_8h-source.html">[código]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey">Hidra/includes/<b>Database.h</b> <a href="Database_8h-source.html">[código]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey">Hidra/includes/<b>encriptacion.h</b> <a href="encriptacion_8h-source.html">[código]</a></td><td class="indexvalue"></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generado el Mon Jun 15 10:24:00 2009 por
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,258 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>Fichero Fuente Hidra/hidra/fuentes/hidra.h</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generado por Doxygen 1.5.5 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Página principal</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Archivos</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h1>Hidra/hidra/fuentes/hidra.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// ****************************************************************************************************************************************************</span>
|
||||
<a name="l00002"></a>00002 <span class="comment">// Aplicaci<63> HIDRA</span>
|
||||
<a name="l00003"></a>00003 <span class="comment">// Copyright 2003-2005 Jos<6F>Manuel Alonso. Todos los derechos reservados.</span>
|
||||
<a name="l00004"></a>00004 <span class="comment">// Fichero: hidra.h</span>
|
||||
<a name="l00005"></a>00005 <span class="comment">// Descripci<63>:</span>
|
||||
<a name="l00006"></a>00006 <span class="comment">// Este proyecto implementa el servicio hidra en un ordenador con plataforma windows NT. Este fichero aporta las funciones de </span>
|
||||
<a name="l00007"></a>00007 <span class="comment">// env<6E> de comandos y recepci<63> de respuestas</span>
|
||||
<a name="l00008"></a>00008 <span class="comment">// *****************************************************************************************************************************************************</span>
|
||||
<a name="l00009"></a>00009 <span class="preprocessor">#include <sys/types.h></span>
|
||||
<a name="l00010"></a>00010 <span class="preprocessor">#include <sys/socket.h></span>
|
||||
<a name="l00011"></a>00011 <span class="preprocessor">#include <netinet/in.h></span>
|
||||
<a name="l00012"></a>00012 <span class="preprocessor">#include <arpa/inet.h></span>
|
||||
<a name="l00013"></a>00013 <span class="preprocessor">#include <stdio.h></span>
|
||||
<a name="l00014"></a>00014 <span class="preprocessor">#include <stdlib.h></span>
|
||||
<a name="l00015"></a>00015 <span class="preprocessor">#include <string.h></span>
|
||||
<a name="l00016"></a>00016 <span class="preprocessor">#include <errno.h></span>
|
||||
<a name="l00017"></a>00017 <span class="preprocessor">#include <unistd.h></span>
|
||||
<a name="l00018"></a>00018 <span class="preprocessor">#include <time.h></span>
|
||||
<a name="l00019"></a>00019 <span class="preprocessor">#include <ctype.h></span>
|
||||
<a name="l00020"></a>00020 <span class="preprocessor">#include </usr/include/mysql/mysql.h></span>
|
||||
<a name="l00021"></a>00021 <span class="preprocessor">#include <pthread.h></span>
|
||||
<a name="l00022"></a>00022 <span class="preprocessor">#include "Database.h"</span>
|
||||
<a name="l00023"></a>00023
|
||||
<a name="l00024"></a>00024 <span class="preprocessor">#define LONGITUD_PARAMETROS 4000 // Longitud m<>ima de la informaci<63> de la trama (parametros)</span>
|
||||
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#define LONGITUD_TRAMA LONGITUD_PARAMETROS+11 // Longitud m<>ima de la trama completa</span>
|
||||
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define MAXCMD_PARAMETROS 200 // M<>imo numero de par<61>etros de una trama de comandos</span>
|
||||
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define MAXIMOS_SOCKETS 4000 // M<>imo numero de conexiones con ordenadores clientes</span>
|
||||
<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define MAXIMOS_SRVRMB 200 // Maximo numero de servidores rembo</span>
|
||||
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define MAXLON_PARAMETROSIPH 3000 // M<>ima longitud de un parametro iph</span>
|
||||
<a name="l00030"></a>00030 <span class="preprocessor"></span>
|
||||
<a name="l00031"></a>00031 <span class="preprocessor">#define MAX_INTERFACE_LIST 20</span>
|
||||
<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define MAX_NUM_CSADDRS 20</span>
|
||||
<a name="l00033"></a>00033 <span class="preprocessor"></span>
|
||||
<a name="l00034"></a>00034 <span class="preprocessor">#define MAXHARDWARE 30 // mÁXIMOS ELEMENTOS HARDSWARE A DETECTAR</span>
|
||||
<a name="l00035"></a>00035 <span class="preprocessor"></span>
|
||||
<a name="l00036"></a>00036 <span class="preprocessor">#define PUERTOMINUSER 40000</span>
|
||||
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define PUERTOMAXUSER 60000</span>
|
||||
<a name="l00038"></a>00038 <span class="preprocessor"></span>
|
||||
<a name="l00039"></a>00039 <span class="preprocessor">#define LITAMBITO_CENTROS "centros"</span>
|
||||
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define LITAMBITO_GRUPOSAULAS "gruposaulas"</span>
|
||||
<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#define LITAMBITO_AULAS "aulas"</span>
|
||||
<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor">#define LITAMBITO_GRUPOSORDENADORES "gruposordenadores"</span>
|
||||
<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#define LITAMBITO_ORDENADORES "ordenadores"</span>
|
||||
<a name="l00044"></a>00044 <span class="preprocessor"></span>
|
||||
<a name="l00045"></a>00045 <span class="preprocessor">#define ACCION_EXITOSA "1" // Finalizada con exito</span>
|
||||
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#define ACCION_FALLIDA "2" // Finalizada con errores</span>
|
||||
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#define ACCION_TERMINADA "3" // Finalizada manualmente con indicacion de exito </span>
|
||||
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#define ACCION_ABORTADA "4" // Finalizada manualmente con indicacion de errores </span>
|
||||
<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor">#define ACCION_SINERRORES "5" // Activa y sin ningn error</span>
|
||||
<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor">#define ACCION_CONERRORES "6" // Activa y con algn error</span>
|
||||
<a name="l00051"></a>00051 <span class="preprocessor"></span>
|
||||
<a name="l00052"></a>00052 <span class="preprocessor">#define ACCION_DETENIDA "0" // Acci<63> momentanemente parada</span>
|
||||
<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="preprocessor">#define ACCION_INICIADA "1" // Acci<63> activa</span>
|
||||
<a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor">#define ACCION_FINALIZADA "2" // Accion finalizada</span>
|
||||
<a name="l00055"></a>00055 <span class="preprocessor"></span>
|
||||
<a name="l00056"></a>00056 <span class="preprocessor">#define PROCESOS 0x01</span>
|
||||
<a name="l00057"></a>00057 <span class="preprocessor"></span>
|
||||
<a name="l00058"></a>00058 <span class="preprocessor">#define EJECUCION_PROCEDIMIENTO 0x0000 // Accion Procedimiento</span>
|
||||
<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="preprocessor">#define EJECUCION_COMANDO 0x0001 // Accion Comando</span>
|
||||
<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor">#define EJECUCION_TAREA 0x0002 // Accion Tarea</span>
|
||||
<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="preprocessor">#define EJECUCION_TRABAJO 0x0003 // Accion Trabajo</span>
|
||||
<a name="l00062"></a>00062 <span class="preprocessor"></span>
|
||||
<a name="l00063"></a>00063 <span class="preprocessor">#define EJECUTOR_servidorHIDRA 0x0001 // Ejecutor Servidor hidra</span>
|
||||
<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="preprocessor">#define EJECUTOR_clienteREMBO 0x0002 // Ejecutor cliente rembo</span>
|
||||
<a name="l00065"></a>00065 <span class="preprocessor"></span><span class="preprocessor">#define EJECUTOR_servidorREMBO 0x0003 // Ejecutor Servidor rembo</span>
|
||||
<a name="l00066"></a>00066 <span class="preprocessor"></span>
|
||||
<a name="l00067"></a>00067 <span class="preprocessor">#define CLIENTE_REMBO "RMB" // Sistema operativo Rembo</span>
|
||||
<a name="l00068"></a>00068 <span class="preprocessor"></span><span class="preprocessor">#define CLIENTE_OCUPADO "BSY" // Cliente ocupado</span>
|
||||
<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="preprocessor">#define CLIENTE_APAGADO "OFF" // Cliente apagado</span>
|
||||
<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="preprocessor">#define CLIENTE_INICIANDO "INI" // Cliente iniciando</span>
|
||||
<a name="l00071"></a>00071 <span class="preprocessor"></span>
|
||||
<a name="l00072"></a>00072 <span class="preprocessor">#define AUTOINCORPORACION_OFF 0x0000 // Los ordenadores no se pueden dar de alta autm<74>icamente</span>
|
||||
<a name="l00073"></a>00073 <span class="preprocessor"></span><span class="preprocessor">#define AUTOINCORPORACION_ONA 0x0001 // Los ordenadores se pueden dar de alta autom<6F>icamente si existe el aula</span>
|
||||
<a name="l00074"></a>00074 <span class="preprocessor"></span><span class="preprocessor">#define AUTOINCORPORACION_ONX 0x0002 // Los ordenadores se pueden dar de alta autom<6F>icamente y si no existe el aula la crea</span>
|
||||
<a name="l00075"></a>00075 <span class="preprocessor"></span>
|
||||
<a name="l00076"></a>00076 <span class="preprocessor">#define MAX_NUM_CSADDRS 20</span>
|
||||
<a name="l00077"></a>00077 <span class="preprocessor"></span><span class="preprocessor">#define MAX_INTERFACE_LIST 20</span>
|
||||
<a name="l00078"></a>00078 <span class="preprocessor"></span>
|
||||
<a name="l00079"></a>00079 <span class="preprocessor">#define TRUE 1</span>
|
||||
<a name="l00080"></a>00080 <span class="preprocessor"></span><span class="preprocessor">#define FALSE 0</span>
|
||||
<a name="l00081"></a>00081 <span class="preprocessor"></span>
|
||||
<a name="l00082"></a>00082 <span class="preprocessor">#define true 1</span>
|
||||
<a name="l00083"></a>00083 <span class="preprocessor"></span><span class="preprocessor">#define false 0</span>
|
||||
<a name="l00084"></a>00084 <span class="preprocessor"></span>
|
||||
<a name="l00085"></a>00085 <span class="preprocessor">#define SOCKET_ERROR (-1)</span>
|
||||
<a name="l00086"></a>00086 <span class="preprocessor"></span><span class="preprocessor">#define INVALID_SOCKET (SOCKET)(~0)</span>
|
||||
<a name="l00087"></a>00087 <span class="preprocessor"></span>
|
||||
<a name="l00088"></a>00088 <span class="comment">// __________________________________________________________________________________________________________</span>
|
||||
<a name="l00089"></a>00089 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> DWORD;
|
||||
<a name="l00090"></a>00090 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> WORD;
|
||||
<a name="l00091"></a>00091 <span class="keyword">typedef</span> <span class="keywordtype">int</span> BOOLEAN;
|
||||
<a name="l00092"></a>00092 <span class="keyword">typedef</span> <span class="keywordtype">char</span> BYTE;
|
||||
<a name="l00093"></a>00093 <span class="keyword">typedef</span> <span class="keywordtype">int</span> SOCKET;
|
||||
<a name="l00094"></a>00094 <span class="comment">// __________________________________________________________________________________________________________</span>
|
||||
<a name="l00095"></a>00095
|
||||
<a name="l00096"></a>00096 <span class="keywordtype">char</span> szPathFile[128],szPathFileCfg[128];
|
||||
<a name="l00097"></a>00097 FILE *FLog,*Fconfig;
|
||||
<a name="l00098"></a>00098 <span class="keywordtype">char</span> AulaUp[2];
|
||||
<a name="l00099"></a>00099 <span class="keywordtype">int</span> aulaup; <span class="comment">// Switch para permitir que un ordenador se de de alta autom<6F>icamente en un aula existenta</span>
|
||||
<a name="l00100"></a>00100 <span class="comment">// Valores:</span>
|
||||
<a name="l00101"></a>00101 <span class="comment">// 0: El ordenador No se da de alta autom<6F>icamente en un aula</span>
|
||||
<a name="l00102"></a>00102 <span class="comment">// 1: El ordenador se da de alta en un aula si existe</span>
|
||||
<a name="l00103"></a>00103 <span class="comment">// 2: El ordenador se da de alta en un aula si existe y si no existe la crea para darse de alta</span>
|
||||
<a name="l00104"></a>00104
|
||||
<a name="l00105"></a>00105 <span class="keywordtype">char</span> IPlocal[20]; <span class="comment">// Ip local</span>
|
||||
<a name="l00106"></a>00106 <span class="keywordtype">char</span> servidorhidra[20]; <span class="comment">// IP servidor HIDRA</span>
|
||||
<a name="l00107"></a>00107 <span class="keywordtype">char</span> Puerto[20]; <span class="comment">// Puerto Unicode</span>
|
||||
<a name="l00108"></a>00108 <span class="keywordtype">int</span> puerto; <span class="comment">// Puerto</span>
|
||||
<a name="l00109"></a>00109 <span class="keywordtype">char</span> usuario[20];
|
||||
<a name="l00110"></a>00110 <span class="keywordtype">char</span> pasguor[20];
|
||||
<a name="l00111"></a>00111 <span class="keywordtype">char</span> datasource[20];
|
||||
<a name="l00112"></a>00112 <span class="keywordtype">char</span> catalog[50];
|
||||
<a name="l00113"></a>00113
|
||||
<a name="l00114"></a>00114 <span class="keyword">typedef</span> <span class="keyword">struct</span>{ <span class="comment">// Estructura de la trama recibida</span>
|
||||
<a name="l00115"></a>00115 <span class="keywordtype">char</span> arroba; <span class="comment">// Caracter arroba siempre</span>
|
||||
<a name="l00116"></a>00116 <span class="keywordtype">char</span> identificador[9]; <span class="comment">// Identificador de la trama, siempre JMMLCAMDJ:</span>
|
||||
<a name="l00117"></a>00117 <span class="keywordtype">char</span> ejecutor; <span class="comment">// Identificador del encargado de ejecutar la funci<63> ( 1= Servidor 2=Cliente rembo:</span>
|
||||
<a name="l00118"></a>00118 <span class="keywordtype">char</span> parametros[LONGITUD_PARAMETROS]; <span class="comment">// Contenido de la trama (par<61>etros)</span>
|
||||
<a name="l00119"></a>00119 }TRAMA;
|
||||
<a name="l00120"></a>00120
|
||||
<a name="l00121"></a>00121 <span class="keyword">struct </span>s_socketCLRMB{ <span class="comment">// Estructura usada para guardar informaci<63> de los clientes</span>
|
||||
<a name="l00122"></a>00122 <span class="keywordtype">char</span> ip[16]; <span class="comment">// IP del cliente</span>
|
||||
<a name="l00123"></a>00123 <span class="keywordtype">char</span> estado[4]; <span class="comment">// Tipo de sistema Operativo del cliente "RMB"=rembo,"W98"=windows98,"W2K"=windows 2000, etc</span>
|
||||
<a name="l00124"></a>00124 SOCKET sock; <span class="comment">// Socket por el que se comunica</span>
|
||||
<a name="l00125"></a>00125 <span class="keywordtype">char</span> ipsrvdhcp[16]; <span class="comment">// IP del servidor dhcp</span>
|
||||
<a name="l00126"></a>00126 <span class="keywordtype">char</span> ipsrvrmb[16]; <span class="comment">// IP del servidor rembo</span>
|
||||
<a name="l00127"></a>00127 };
|
||||
<a name="l00128"></a>00128 <span class="keyword">struct </span>s_socketCLRMB tbsockets[MAXIMOS_SOCKETS];
|
||||
<a name="l00129"></a>00129
|
||||
<a name="l00130"></a>00130 <span class="keyword">struct </span>s_socketSRVRMB{ <span class="comment">// Estructura usada para guardar informaci<63> de los servidores REMBO</span>
|
||||
<a name="l00131"></a>00131 <span class="keywordtype">char</span> ip[16]; <span class="comment">// IP del servidor rembo</span>
|
||||
<a name="l00132"></a>00132 <span class="keywordtype">int</span> puertorepo;
|
||||
<a name="l00133"></a>00133 <span class="keywordtype">char</span> ipes[MAXLON_PARAMETROSIPH]; <span class="comment">// IP de los clientes rembo</span>
|
||||
<a name="l00134"></a>00134 <span class="keywordtype">int</span> swenv; <span class="comment">// Switch de envio</span>
|
||||
<a name="l00135"></a>00135
|
||||
<a name="l00136"></a>00136 };
|
||||
<a name="l00137"></a>00137 <span class="keyword">struct </span>s_socketSRVRMB tbsocketsSRVRMB[MAXIMOS_SRVRMB];
|
||||
<a name="l00138"></a>00138
|
||||
<a name="l00139"></a>00139 <span class="keyword">static</span> pthread_mutex_t guardia; <span class="comment">// Controla acceso exclusivo de hebras </span>
|
||||
<a name="l00140"></a>00140
|
||||
<a name="l00141"></a>00141 <span class="comment">// Prototipo de funciones</span>
|
||||
<a name="l00142"></a>00142 <span class="keywordtype">void</span>* GestionaConexion(<span class="keywordtype">void</span>*);
|
||||
<a name="l00143"></a>00143 <span class="keywordtype">void</span> gestiona_comando(SOCKET s,TRAMA trama);
|
||||
<a name="l00144"></a>00144 <span class="keywordtype">int</span> manda_comando(SOCKET sock,<span class="keywordtype">char</span>* parametros);
|
||||
<a name="l00145"></a>00145 <span class="keywordtype">int</span> manda_trama(SOCKET sock,TRAMA* trama);
|
||||
<a name="l00146"></a>00146 <span class="keywordtype">int</span> recibe_trama(SOCKET sock,TRAMA* trama);
|
||||
<a name="l00147"></a>00147 <span class="keywordtype">int</span> manda_trama_servidorrembo(<span class="keywordtype">char</span>* ,<span class="keywordtype">char</span> *,<span class="keywordtype">int</span>);
|
||||
<a name="l00148"></a>00148
|
||||
<a name="l00149"></a>00149 SOCKET UDPConnect(<span class="keywordtype">char</span> *);
|
||||
<a name="l00150"></a>00150 <span class="keywordtype">int</span> envia_comandos(SOCKET ,TRAMA* , <span class="keywordtype">char</span>* ,<span class="keywordtype">int</span>);
|
||||
<a name="l00151"></a>00151
|
||||
<a name="l00152"></a>00152
|
||||
<a name="l00153"></a>00153 <span class="keywordtype">int</span> hay_hueco(<span class="keywordtype">int</span> *);
|
||||
<a name="l00154"></a>00154 BOOLEAN cliente_existente(<span class="keywordtype">char</span> *,<span class="keywordtype">int</span>*);
|
||||
<a name="l00155"></a>00155 <span class="keywordtype">int</span> hay_huecoservidorrembo(<span class="keywordtype">int</span> *);
|
||||
<a name="l00156"></a>00156 BOOLEAN servidorrembo_existente(<span class="keywordtype">char</span> *,<span class="keywordtype">int</span>*);
|
||||
<a name="l00157"></a>00157 BOOLEAN IgualIP(<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*);
|
||||
<a name="l00158"></a>00158
|
||||
<a name="l00159"></a>00159 <span class="keywordtype">void</span> INTROaFINCAD(<span class="keywordtype">char</span>* );
|
||||
<a name="l00160"></a>00160 <span class="keywordtype">void</span> FINCADaINTRO(<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*);
|
||||
<a name="l00161"></a>00161
|
||||
<a name="l00162"></a>00162 <span class="keywordtype">int</span> cuenta_ipes(<span class="keywordtype">char</span>*);
|
||||
<a name="l00163"></a>00163 <span class="keywordtype">char</span> * toma_parametro(<span class="keywordtype">char</span>*,<span class="keywordtype">char</span> *);
|
||||
<a name="l00164"></a>00164 <span class="keywordtype">char</span> * corte_iph(<span class="keywordtype">char</span> *);
|
||||
<a name="l00165"></a>00165
|
||||
<a name="l00166"></a>00166 <span class="keywordtype">int</span> respuesta_cortesia(SOCKET );
|
||||
<a name="l00167"></a>00167 <span class="keywordtype">int</span> NoComandosPendientes(SOCKET);
|
||||
<a name="l00168"></a>00168 <span class="keywordtype">int</span> Coloca_estado(<span class="keywordtype">char</span> *,<span class="keywordtype">char</span> *,SOCKET);
|
||||
<a name="l00169"></a>00169 <span class="keywordtype">int</span> actualiza_configuracion(Database , Table ,<span class="keywordtype">char</span>* ,<span class="keywordtype">int</span>,<span class="keywordtype">int</span> ,<span class="keywordtype">char</span>* );
|
||||
<a name="l00170"></a>00170 <span class="keywordtype">int</span> actualiza_hardware(Database , Table ,<span class="keywordtype">char</span>* ,<span class="keywordtype">char</span>* ,<span class="keywordtype">char</span>*);
|
||||
<a name="l00171"></a>00171 <span class="keywordtype">int</span> CuestrionPerfilHardware(Database , Table ,<span class="keywordtype">int</span> ,<span class="keywordtype">char</span>* ,<span class="keywordtype">int</span> *,<span class="keywordtype">int</span> ,<span class="keywordtype">char</span>*);
|
||||
<a name="l00172"></a>00172 <span class="keywordtype">void</span> TomaParticiones(<span class="keywordtype">char</span>*, <span class="keywordtype">char</span>* ,<span class="keywordtype">int</span> );
|
||||
<a name="l00173"></a>00173 <span class="keywordtype">int</span> Toma_menu(Database,Table,<span class="keywordtype">char</span>*,<span class="keywordtype">int</span>,<span class="keywordtype">int</span>);
|
||||
<a name="l00174"></a>00174 <span class="keywordtype">int</span> RecuperaItem(SOCKET,<span class="keywordtype">char</span> *);
|
||||
<a name="l00175"></a>00175 <span class="keywordtype">int</span> ComandosPendientes(SOCKET ,<span class="keywordtype">char</span> *);
|
||||
<a name="l00176"></a>00176 <span class="keywordtype">int</span> procesaCOMANDOS(SOCKET ,<span class="keywordtype">char</span> *);
|
||||
<a name="l00177"></a>00177 <span class="keywordtype">int</span> DisponibilidadComandos(SOCKET ,<span class="keywordtype">char</span> *);
|
||||
<a name="l00178"></a>00178
|
||||
<a name="l00179"></a>00179 <span class="keywordtype">int</span> InclusionClienteHIDRA(SOCKET,<span class="keywordtype">char</span> *);
|
||||
<a name="l00180"></a>00180 <span class="keywordtype">int</span> inclusion_srvRMB(<span class="keywordtype">char</span> *,<span class="keywordtype">int</span>);
|
||||
<a name="l00181"></a>00181 <span class="keywordtype">int</span> inclusion_REPO(SOCKET,<span class="keywordtype">char</span> *);
|
||||
<a name="l00182"></a>00182 <span class="keywordtype">int</span> inclusion_cliWINLNX(SOCKET ,<span class="keywordtype">char</span> *);
|
||||
<a name="l00183"></a>00183
|
||||
<a name="l00184"></a>00184 <span class="keywordtype">int</span> Sondeo(SOCKET ,<span class="keywordtype">char</span> *);
|
||||
<a name="l00185"></a>00185 <span class="keywordtype">int</span> Arrancar(<span class="keywordtype">char</span> *);
|
||||
<a name="l00186"></a>00186 <span class="keywordtype">int</span> Actualizar(<span class="keywordtype">char</span> *);
|
||||
<a name="l00187"></a>00187 <span class="keywordtype">int</span> FicheroOperador(<span class="keywordtype">char</span> *);
|
||||
<a name="l00188"></a>00188 <span class="keywordtype">int</span> IconoItem(TRAMA*);
|
||||
<a name="l00189"></a>00189 <span class="keywordtype">int</span> Conmutar(<span class="keywordtype">char</span> *);
|
||||
<a name="l00190"></a>00190 <span class="keywordtype">int</span> RenovarItems(<span class="keywordtype">char</span> *);
|
||||
<a name="l00191"></a>00191
|
||||
<a name="l00192"></a>00192 SOCKET AbreConexion(<span class="keywordtype">char</span> *,<span class="keywordtype">int</span>);
|
||||
<a name="l00193"></a>00193 <span class="keywordtype">void</span> RegistraLog(<span class="keywordtype">char</span> *,<span class="keywordtype">int</span>);
|
||||
<a name="l00194"></a>00194
|
||||
<a name="l00195"></a>00195 <span class="keywordtype">void</span> PurgarTablaSockets(<span class="keywordtype">char</span> *);
|
||||
<a name="l00196"></a>00196 <span class="keywordtype">int</span> borra_entrada(<span class="keywordtype">int</span>);
|
||||
<a name="l00197"></a>00197 <span class="keywordtype">int</span> RESPUESTA_Arrancar(SOCKET ,<span class="keywordtype">char</span> *);
|
||||
<a name="l00198"></a>00198 <span class="keywordtype">int</span> RESPUESTA_Apagar(SOCKET ,<span class="keywordtype">char</span> *);
|
||||
<a name="l00199"></a>00199 <span class="keywordtype">int</span> RESPUESTA_RemboOffline(SOCKET ,<span class="keywordtype">char</span> *);
|
||||
<a name="l00200"></a>00200 <span class="keywordtype">int</span> RESPUESTA_Reiniciar(SOCKET ,<span class="keywordtype">char</span> *);
|
||||
<a name="l00201"></a>00201 <span class="keywordtype">int</span> RESPUESTA_Actualizar(SOCKET,<span class="keywordtype">char</span> *);
|
||||
<a name="l00202"></a>00202 <span class="keywordtype">int</span> RESPUESTA_ExecShell(SOCKET ,<span class="keywordtype">char</span> *);
|
||||
<a name="l00203"></a>00203 <span class="keywordtype">int</span> RespuestaEstandar(<span class="keywordtype">char</span> *,<span class="keywordtype">char</span> *,<span class="keywordtype">char</span> *,<span class="keywordtype">char</span>*,Database, Table);
|
||||
<a name="l00204"></a>00204 <span class="keywordtype">int</span> RESPUESTA_CrearPerfilSoftware(SOCKET ,<span class="keywordtype">char</span> *);
|
||||
<a name="l00205"></a>00205 <span class="keywordtype">int</span> RESPUESTA_CrearSoftwareIncremental(SOCKET,<span class="keywordtype">char</span> *);
|
||||
<a name="l00206"></a>00206 <span class="keywordtype">int</span> RESPUESTA_RestaurarImagen(SOCKET,<span class="keywordtype">char</span> *);
|
||||
<a name="l00207"></a>00207 <span class="keywordtype">int</span> RESPUESTA_ParticionaryFormatear(SOCKET ,<span class="keywordtype">char</span> *);
|
||||
<a name="l00208"></a>00208 <span class="keywordtype">int</span> RESPUESTA_Configurar(SOCKET ,<span class="keywordtype">char</span> *);
|
||||
<a name="l00209"></a>00209 <span class="keywordtype">int</span> RESPUESTA_TomaConfiguracion(SOCKET ,<span class="keywordtype">char</span> *);
|
||||
<a name="l00210"></a>00210 <span class="keywordtype">int</span> RESPUESTA_TomaHardware(SOCKET ,<span class="keywordtype">char</span> *);
|
||||
<a name="l00211"></a>00211
|
||||
<a name="l00212"></a>00212 <span class="keywordtype">int</span> RESPUESTA_inclusionREPO(TRAMA*);
|
||||
<a name="l00213"></a>00213
|
||||
<a name="l00214"></a>00214 <span class="keywordtype">int</span> Actualiza_ordenador_imagen(<span class="keywordtype">char</span> *,<span class="keywordtype">char</span> *,<span class="keywordtype">char</span> *,Database);
|
||||
<a name="l00215"></a>00215
|
||||
<a name="l00216"></a>00216 <span class="keywordtype">int</span> busca_comandos(<span class="keywordtype">char</span>* ,<span class="keywordtype">char</span>*,<span class="keywordtype">char</span> *,<span class="keywordtype">int</span> *);
|
||||
<a name="l00217"></a>00217 <span class="keywordtype">int</span> InsertaNotificaciones(<span class="keywordtype">int</span>,<span class="keywordtype">int</span>,<span class="keywordtype">int</span>,<span class="keywordtype">char</span> *,Database);
|
||||
<a name="l00218"></a>00218 <span class="keywordtype">int</span> comprueba_resultados(<span class="keywordtype">int</span> ,Database );
|
||||
<a name="l00219"></a>00219 <span class="keywordtype">int</span> comprueba_finalizada(<span class="keywordtype">int</span> ,<span class="keywordtype">char</span> *,Database );
|
||||
<a name="l00220"></a>00220
|
||||
<a name="l00221"></a>00221 <span class="keywordtype">void</span> EnviaServidoresRembo(<span class="keywordtype">char</span>*);
|
||||
<a name="l00222"></a>00222 <span class="keywordtype">void</span> DesmarcaServidoresRembo(<span class="keywordtype">void</span>);
|
||||
<a name="l00223"></a>00223 <span class="keywordtype">void</span> MarcaServidoresRembo(<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*);
|
||||
<a name="l00224"></a>00224
|
||||
<a name="l00225"></a>00225 <span class="keywordtype">int</span> EjecutarItem(SOCKET,<span class="keywordtype">char</span> *);
|
||||
<a name="l00226"></a>00226 BOOLEAN TomaIPServidorRembo(<span class="keywordtype">char</span>*,<span class="keywordtype">int</span>*);
|
||||
<a name="l00227"></a>00227
|
||||
<a name="l00228"></a>00228 <span class="keywordtype">void</span> envia_tarea(<span class="keywordtype">char</span>* );
|
||||
<a name="l00229"></a>00229 <span class="keywordtype">int</span> EjecutarTarea(<span class="keywordtype">int</span> ,<span class="keywordtype">int</span> ,<span class="keywordtype">int</span> ,<span class="keywordtype">int</span> , Database,<span class="keywordtype">char</span> * );
|
||||
<a name="l00230"></a>00230 <span class="keywordtype">int</span> EjecutarTrabajo(<span class="keywordtype">int</span> ,Database,<span class="keywordtype">char</span> * );
|
||||
<a name="l00231"></a>00231 <span class="keywordtype">int</span> cuestion_nuevoordenador(Database,Table ,<span class="keywordtype">int</span>*,<span class="keywordtype">char</span> *,<span class="keywordtype">char</span> *,<span class="keywordtype">char</span> *,<span class="keywordtype">char</span> *,<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*);
|
||||
<a name="l00232"></a>00232 <span class="keywordtype">int</span> alta_ordenador(Database db,Table tbl,<span class="keywordtype">int</span>*,<span class="keywordtype">char</span> *,<span class="keywordtype">char</span> *,<span class="keywordtype">char</span>*,<span class="keywordtype">int</span>,<span class="keywordtype">int</span>,<span class="keywordtype">int</span>);
|
||||
<a name="l00233"></a>00233 <span class="keywordtype">int</span> Toma_idservidorres(Database ,Table ,<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*,<span class="keywordtype">int</span>*,<span class="keywordtype">int</span>*);
|
||||
<a name="l00234"></a>00234
|
||||
<a name="l00235"></a>00235 <span class="keywordtype">void</span> cambiacarac(<span class="keywordtype">char</span> *,<span class="keywordtype">char</span> , <span class="keywordtype">char</span> );
|
||||
<a name="l00236"></a>00236 <span class="keywordtype">int</span> TomaConfiguracion(<span class="keywordtype">char</span>* );
|
||||
<a name="l00237"></a>00237 <span class="keywordtype">int</span> split_parametros(<span class="keywordtype">char</span> **,<span class="keywordtype">char</span> *, <span class="keywordtype">char</span> *);
|
||||
<a name="l00238"></a>00238 <span class="keyword">struct </span>tm * TomaHora();
|
||||
</pre></div></div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generado el Mon Jun 15 10:24:00 2009 por
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,298 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>Fichero Fuente Hidra/hidraboot/fuentes/hidraboot.h</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generado por Doxygen 1.5.5 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Página principal</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Archivos</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h1>Hidra/hidraboot/fuentes/hidraboot.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// *************************************************************************************************************</span>
|
||||
<a name="l00002"></a>00002 <span class="comment">// Aplicacin HIDRA</span>
|
||||
<a name="l00003"></a>00003 <span class="comment">// Copyright 2003-2005 Jos Manuel Alonso. Todos los derechos reservados.</span>
|
||||
<a name="l00004"></a>00004 <span class="comment">// Fichero: hidrapxedhcp.h</span>
|
||||
<a name="l00005"></a>00005 <span class="comment">// </span>
|
||||
<a name="l00006"></a>00006 <span class="comment">// Descripcin:</span>
|
||||
<a name="l00007"></a>00007 <span class="comment">// Fichero de cabecera de hidrapxedhcp.cpp</span>
|
||||
<a name="l00008"></a>00008 <span class="comment">// **************************************************************************************************************</span>
|
||||
<a name="l00009"></a>00009 <span class="preprocessor">#include <sys/types.h></span>
|
||||
<a name="l00010"></a>00010 <span class="preprocessor">#include <sys/socket.h></span>
|
||||
<a name="l00011"></a>00011 <span class="preprocessor">#include <netinet/in.h></span>
|
||||
<a name="l00012"></a>00012 <span class="preprocessor">#include <arpa/inet.h></span>
|
||||
<a name="l00013"></a>00013 <span class="preprocessor">#include <stdio.h></span>
|
||||
<a name="l00014"></a>00014 <span class="preprocessor">#include <stdlib.h></span>
|
||||
<a name="l00015"></a>00015 <span class="preprocessor">#include <string.h></span>
|
||||
<a name="l00016"></a>00016 <span class="preprocessor">#include <errno.h></span>
|
||||
<a name="l00017"></a>00017 <span class="preprocessor">#include <unistd.h></span>
|
||||
<a name="l00018"></a>00018 <span class="preprocessor">#include <time.h></span>
|
||||
<a name="l00019"></a>00019 <span class="preprocessor">#include <ctype.h></span>
|
||||
<a name="l00020"></a>00020 <span class="preprocessor">#include </usr/include/mysql/mysql.h></span>
|
||||
<a name="l00021"></a>00021 <span class="preprocessor">#include <pthread.h></span>
|
||||
<a name="l00022"></a>00022 <span class="preprocessor">#include "Database.h"</span>
|
||||
<a name="l00023"></a>00023 <span class="comment">// _____________________________________________________________________________________________________________</span>
|
||||
<a name="l00024"></a>00024
|
||||
<a name="l00025"></a>00025 <span class="preprocessor">#define PUERTODHCPORIGEN 67</span>
|
||||
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define PUERTODHCPDESTINO 68</span>
|
||||
<a name="l00027"></a>00027 <span class="preprocessor"></span>
|
||||
<a name="l00028"></a>00028 <span class="preprocessor">#define PUERTOBOOTPORIGEN 4011</span>
|
||||
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define PUERTOBOOTPDESTINO 68</span>
|
||||
<a name="l00030"></a>00030 <span class="preprocessor"></span>
|
||||
<a name="l00031"></a>00031 <span class="preprocessor">#define PUERTOTFTPORIGEN 69</span>
|
||||
<a name="l00032"></a>00032 <span class="preprocessor"></span>
|
||||
<a name="l00033"></a>00033 <span class="preprocessor">#define PUERTOMINUSER 20000</span>
|
||||
<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define PUERTOMAXUSER 60000</span>
|
||||
<a name="l00035"></a>00035 <span class="preprocessor"></span>
|
||||
<a name="l00036"></a>00036 <span class="preprocessor">#define MAX_INTERFACE_LIST 20</span>
|
||||
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define MAX_NUM_CSADDRS 20</span>
|
||||
<a name="l00038"></a>00038 <span class="preprocessor"></span>
|
||||
<a name="l00039"></a>00039 <span class="comment">// __________________________________________________________________________________________________________</span>
|
||||
<a name="l00040"></a>00040 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> DWORD;
|
||||
<a name="l00041"></a>00041 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> WORD;
|
||||
<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keywordtype">int</span> BOOL;
|
||||
<a name="l00043"></a>00043 <span class="keyword">typedef</span> <span class="keywordtype">char</span> BYTE;
|
||||
<a name="l00044"></a>00044 <span class="keyword">typedef</span> <span class="keywordtype">int</span> SOCKET;
|
||||
<a name="l00045"></a>00045 <span class="keyword">typedef</span> <span class="keywordtype">void</span>* LPVOID;
|
||||
<a name="l00046"></a>00046
|
||||
<a name="l00047"></a>00047 <span class="preprocessor">#define SOCKET_ERROR (-1)</span>
|
||||
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#define INVALID_SOCKET (SOCKET)(~0)</span>
|
||||
<a name="l00049"></a>00049 <span class="preprocessor"></span>
|
||||
<a name="l00050"></a>00050 <span class="preprocessor">#define TRUE 1</span>
|
||||
<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#define FALSE 0</span>
|
||||
<a name="l00052"></a>00052 <span class="preprocessor"></span>
|
||||
<a name="l00053"></a>00053 <span class="preprocessor">#define true 1</span>
|
||||
<a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor">#define false 0</span>
|
||||
<a name="l00055"></a>00055 <span class="preprocessor"></span><span class="comment">// __________________________________________________________________________________________________________</span>
|
||||
<a name="l00056"></a>00056
|
||||
<a name="l00057"></a>00057 <span class="keywordtype">char</span> szPathFileCfg[128],szPathFileLog[128];
|
||||
<a name="l00058"></a>00058 FILE *FLog,*Fconfig;
|
||||
<a name="l00059"></a>00059 <span class="keywordtype">char</span> mensaje[1000];
|
||||
<a name="l00060"></a>00060 <span class="comment">// _____________________________________________________________________________________________________________</span>
|
||||
<a name="l00061"></a>00061 <span class="preprocessor">#define DHCP_UDP_OVERHEAD (20 + 8 ) // IP header + UDP header</span>
|
||||
<a name="l00062"></a>00062 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_SNAME_LEN 64</span>
|
||||
<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_FILE_LEN 128</span>
|
||||
<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_FIXED_NON_UDP 236</span>
|
||||
<a name="l00065"></a>00065 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_FIXED_LEN (DHCP_FIXED_NON_UDP + DHCP_UDP_OVERHEAD) // Longitud de la trama sin las opciones</span>
|
||||
<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_MTU_MAX 1500</span>
|
||||
<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_OPTION_LEN (DHCP_MTU_MAX - DHCP_FIXED_LEN)</span>
|
||||
<a name="l00068"></a>00068 <span class="preprocessor"></span>
|
||||
<a name="l00069"></a>00069 <span class="preprocessor">#define BOOTP_MIN_LEN 300</span>
|
||||
<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_MIN_LEN 548</span>
|
||||
<a name="l00071"></a>00071 <span class="preprocessor"></span>
|
||||
<a name="l00072"></a>00072 <span class="keyword">struct </span>dhcp_packet {
|
||||
<a name="l00073"></a>00073 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> op; <span class="comment">// Message opcode</span>
|
||||
<a name="l00074"></a>00074 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> htype; <span class="comment">// Hardware addr type </span>
|
||||
<a name="l00075"></a>00075 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> hlen; <span class="comment">// Hardware addr length</span>
|
||||
<a name="l00076"></a>00076 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> hops; <span class="comment">// Number of relay agent hops from client</span>
|
||||
<a name="l00077"></a>00077 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> xid; <span class="comment">// Transaction ID </span>
|
||||
<a name="l00078"></a>00078 <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> secs; <span class="comment">// Seconds since client started looking</span>
|
||||
<a name="l00079"></a>00079 <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> flags; <span class="comment">// Flag bits</span>
|
||||
<a name="l00080"></a>00080 <span class="keyword">struct </span>in_addr ciaddr; <span class="comment">// Client IP address</span>
|
||||
<a name="l00081"></a>00081 <span class="keyword">struct </span>in_addr yiaddr; <span class="comment">// Client IP address </span>
|
||||
<a name="l00082"></a>00082 <span class="keyword">struct </span>in_addr siaddr; <span class="comment">// IP address of next server</span>
|
||||
<a name="l00083"></a>00083 <span class="keyword">struct </span>in_addr giaddr; <span class="comment">// DHCP relay agent IP address</span>
|
||||
<a name="l00084"></a>00084 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> chaddr [16];<span class="comment">// Client hardware address </span>
|
||||
<a name="l00085"></a>00085 <span class="keywordtype">char</span> sname[DHCP_SNAME_LEN]; <span class="comment">// Server name</span>
|
||||
<a name="l00086"></a>00086 <span class="keywordtype">char</span> file[DHCP_FILE_LEN]; <span class="comment">// Boot filename</span>
|
||||
<a name="l00087"></a>00087 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> magiccookie[4];
|
||||
<a name="l00088"></a>00088 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> options [DHCP_OPTION_LEN-4]; <span class="comment">// Optional parameters.</span>
|
||||
<a name="l00089"></a>00089 };
|
||||
<a name="l00090"></a>00090
|
||||
<a name="l00091"></a>00091 <span class="comment">// Estructura genrica de una opcin DHCP</span>
|
||||
<a name="l00092"></a>00092 <span class="keyword">struct </span>dhcp_opcion {
|
||||
<a name="l00093"></a>00093 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> codop;
|
||||
<a name="l00094"></a>00094 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> tam;
|
||||
<a name="l00095"></a>00095 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> dato;
|
||||
<a name="l00096"></a>00096 };
|
||||
<a name="l00097"></a>00097
|
||||
<a name="l00098"></a>00098 <span class="comment">// Cdigo de las distintas opciones DHCP</span>
|
||||
<a name="l00099"></a>00099 <span class="preprocessor">#define DHCP_PAD 0</span>
|
||||
<a name="l00100"></a>00100 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_SUBNET_MASK 1</span>
|
||||
<a name="l00101"></a>00101 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_TIME_OFFSET 2</span>
|
||||
<a name="l00102"></a>00102 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_ROUTERS 3</span>
|
||||
<a name="l00103"></a>00103 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_TIME_SERVERS 4</span>
|
||||
<a name="l00104"></a>00104 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_NAME_SERVERS 5</span>
|
||||
<a name="l00105"></a>00105 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_DOMAIN_NAME_SERVERS 6</span>
|
||||
<a name="l00106"></a>00106 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_LOG_SERVERS 7</span>
|
||||
<a name="l00107"></a>00107 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_COOKIE_SERVERS 8</span>
|
||||
<a name="l00108"></a>00108 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_LPR_SERVERS 9</span>
|
||||
<a name="l00109"></a>00109 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_IMPRESS_SERVERS 10</span>
|
||||
<a name="l00110"></a>00110 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_RESOURCE_LOCATION_SERVERS 11</span>
|
||||
<a name="l00111"></a>00111 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_HOST_NAME 12</span>
|
||||
<a name="l00112"></a>00112 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_BOOT_SIZE 13</span>
|
||||
<a name="l00113"></a>00113 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_MERIT_DUMP 14</span>
|
||||
<a name="l00114"></a>00114 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_DOMAIN_NAME 15</span>
|
||||
<a name="l00115"></a>00115 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_SWAP_SERVER 16</span>
|
||||
<a name="l00116"></a>00116 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_ROOT_PATH 17</span>
|
||||
<a name="l00117"></a>00117 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_EXTENSIONS_PATH 18</span>
|
||||
<a name="l00118"></a>00118 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_IP_FORWARDING 19</span>
|
||||
<a name="l00119"></a>00119 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_NON_LOCAL_SOURCE_ROUTING 20</span>
|
||||
<a name="l00120"></a>00120 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_POLICY_FILTER 21</span>
|
||||
<a name="l00121"></a>00121 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_MAX_DGRAM_REASSEMBLY 22</span>
|
||||
<a name="l00122"></a>00122 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_DEFAULT_IP_TTL 23</span>
|
||||
<a name="l00123"></a>00123 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_PATH_MTU_AGING_TIMEOUT 24</span>
|
||||
<a name="l00124"></a>00124 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_PATH_MTU_PLATEAU_TABLE 25</span>
|
||||
<a name="l00125"></a>00125 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_INTERFACE_MTU 26</span>
|
||||
<a name="l00126"></a>00126 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_ALL_SUBNETS_LOCAL 27</span>
|
||||
<a name="l00127"></a>00127 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_BROADCAST_ADDRESS 28</span>
|
||||
<a name="l00128"></a>00128 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_PERFORM_MASK_DISCOVERY 29</span>
|
||||
<a name="l00129"></a>00129 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_MASK_SUPPLIER 30</span>
|
||||
<a name="l00130"></a>00130 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_ROUTER_DISCOVERY 31</span>
|
||||
<a name="l00131"></a>00131 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_ROUTER_SOLICITATION_ADDRESS 32</span>
|
||||
<a name="l00132"></a>00132 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_STATIC_ROUTES 33</span>
|
||||
<a name="l00133"></a>00133 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_TRAILER_ENCAPSULATION 34</span>
|
||||
<a name="l00134"></a>00134 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_ARP_CACHE_TIMEOUT 35</span>
|
||||
<a name="l00135"></a>00135 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_IEEE802_3_ENCAPSULATION 36</span>
|
||||
<a name="l00136"></a>00136 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_DEFAULT_TCP_TTL 37</span>
|
||||
<a name="l00137"></a>00137 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_TCP_KEEPALIVE_INTERVAL 38</span>
|
||||
<a name="l00138"></a>00138 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_TCP_KEEPALIVE_GARBAGE 39</span>
|
||||
<a name="l00139"></a>00139 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_NIS_DOMAIN 40</span>
|
||||
<a name="l00140"></a>00140 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_NIS_SERVERS 41</span>
|
||||
<a name="l00141"></a>00141 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_NTP_SERVERS 42</span>
|
||||
<a name="l00142"></a>00142 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_VENDOR_ENCAPSULATED_OPTIONS 43</span>
|
||||
<a name="l00143"></a>00143 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_NETBIOS_NAME_SERVERS 44</span>
|
||||
<a name="l00144"></a>00144 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_NETBIOS_DD_SERVER 45</span>
|
||||
<a name="l00145"></a>00145 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_NETBIOS_NODE_TYPE 46</span>
|
||||
<a name="l00146"></a>00146 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_NETBIOS_SCOPE 47</span>
|
||||
<a name="l00147"></a>00147 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_FONT_SERVERS 48</span>
|
||||
<a name="l00148"></a>00148 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_X_DISPLAY_MANAGER 49</span>
|
||||
<a name="l00149"></a>00149 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_REQUESTED_ADDRESS 50</span>
|
||||
<a name="l00150"></a>00150 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_LEASE_TIME 51</span>
|
||||
<a name="l00151"></a>00151 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_OPTION_OVERLOAD 52</span>
|
||||
<a name="l00152"></a>00152 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_MESSAGE_TYPE 53</span>
|
||||
<a name="l00153"></a>00153 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_SERVER_IDENTIFIER 54</span>
|
||||
<a name="l00154"></a>00154 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_PARAMETER_REQUEST_LIST 55</span>
|
||||
<a name="l00155"></a>00155 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_MESSAGE 56</span>
|
||||
<a name="l00156"></a>00156 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_MAX_MESSAGE_SIZE 57</span>
|
||||
<a name="l00157"></a>00157 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_RENEWAL_TIME 58</span>
|
||||
<a name="l00158"></a>00158 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_REBINDING_TIME 59</span>
|
||||
<a name="l00159"></a>00159 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_CLASS_IDENTIFIER 60</span>
|
||||
<a name="l00160"></a>00160 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_CLIENT_IDENTIFIER 61</span>
|
||||
<a name="l00161"></a>00161 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_USER_CLASS_ID 77</span>
|
||||
<a name="l00162"></a>00162 <span class="preprocessor"></span><span class="preprocessor">#define DHCP_END 255</span>
|
||||
<a name="l00163"></a>00163 <span class="preprocessor"></span>
|
||||
<a name="l00164"></a>00164 <span class="comment">// DHCP message types.</span>
|
||||
<a name="l00165"></a>00165 <span class="preprocessor">#define DHCPDISCOVER 1</span>
|
||||
<a name="l00166"></a>00166 <span class="preprocessor"></span><span class="preprocessor">#define DHCPOFFER 2</span>
|
||||
<a name="l00167"></a>00167 <span class="preprocessor"></span><span class="preprocessor">#define DHCPREQUEST 3</span>
|
||||
<a name="l00168"></a>00168 <span class="preprocessor"></span><span class="preprocessor">#define DHCPDECLINE 4</span>
|
||||
<a name="l00169"></a>00169 <span class="preprocessor"></span><span class="preprocessor">#define DHCPACK 5</span>
|
||||
<a name="l00170"></a>00170 <span class="preprocessor"></span><span class="preprocessor">#define DHCPNAK 6</span>
|
||||
<a name="l00171"></a>00171 <span class="preprocessor"></span><span class="preprocessor">#define DHCPRELEASE 7</span>
|
||||
<a name="l00172"></a>00172 <span class="preprocessor"></span><span class="preprocessor">#define DHCPINFORM 8</span>
|
||||
<a name="l00173"></a>00173 <span class="preprocessor"></span>
|
||||
<a name="l00174"></a>00174 <span class="comment">// Estructura para trabajar en cada hebra con el cliente en cuestion</span>
|
||||
<a name="l00175"></a>00175 <span class="keyword">struct </span>TramaDhcpBootp{
|
||||
<a name="l00176"></a>00176 SOCKET sck;
|
||||
<a name="l00177"></a>00177 <span class="keyword">struct </span>sockaddr_in cliente;
|
||||
<a name="l00178"></a>00178 socklen_t sockaddrsize;
|
||||
<a name="l00179"></a>00179 <span class="keyword">struct </span>dhcp_packet pckDchp;
|
||||
<a name="l00180"></a>00180 <span class="keywordtype">char</span> bdIP[16];
|
||||
<a name="l00181"></a>00181 };
|
||||
<a name="l00182"></a>00182 <span class="comment">// _____________________________________________________________________________________________________________</span>
|
||||
<a name="l00183"></a>00183
|
||||
<a name="l00184"></a>00184 <span class="preprocessor">#define MAXBLOCK 4096</span>
|
||||
<a name="l00185"></a>00185 <span class="preprocessor"></span>
|
||||
<a name="l00186"></a>00186
|
||||
<a name="l00187"></a>00187 <span class="comment">// TFTP Cdigos de operacin.</span>
|
||||
<a name="l00188"></a>00188 <span class="preprocessor">#define TFTPRRQ 1 // Read request.</span>
|
||||
<a name="l00189"></a>00189 <span class="preprocessor"></span><span class="preprocessor">#define TFTPWRQ 2 // Write request</span>
|
||||
<a name="l00190"></a>00190 <span class="preprocessor"></span><span class="preprocessor">#define TFTPDATA 3 // Read or write the next block of data.</span>
|
||||
<a name="l00191"></a>00191 <span class="preprocessor"></span><span class="preprocessor">#define TFTPACK 4 // Confirnacin de bloque procesado</span>
|
||||
<a name="l00192"></a>00192 <span class="preprocessor"></span><span class="preprocessor">#define TFTPERROR 5 // Error message</span>
|
||||
<a name="l00193"></a>00193 <span class="preprocessor"></span><span class="preprocessor">#define TFTPOACK 6 // Option acknowledgment </span>
|
||||
<a name="l00194"></a>00194 <span class="preprocessor"></span>
|
||||
<a name="l00195"></a>00195 <span class="comment">// Paquete TFTP genrico</span>
|
||||
<a name="l00196"></a>00196 <span class="keyword">struct </span>tftp_packet
|
||||
<a name="l00197"></a>00197 {
|
||||
<a name="l00198"></a>00198 WORD opcode;
|
||||
<a name="l00199"></a>00199 <span class="keywordtype">char</span> buffer[MAXBLOCK+2];
|
||||
<a name="l00200"></a>00200 };
|
||||
<a name="l00201"></a>00201 <span class="comment">// Paquete TFTP tipo ACK</span>
|
||||
<a name="l00202"></a>00202 <span class="keyword">struct </span>tftppacket_ack
|
||||
<a name="l00203"></a>00203 {
|
||||
<a name="l00204"></a>00204 WORD opcode;
|
||||
<a name="l00205"></a>00205 WORD block;
|
||||
<a name="l00206"></a>00206 <span class="keywordtype">char</span> buffer[MAXBLOCK];
|
||||
<a name="l00207"></a>00207 };
|
||||
<a name="l00208"></a>00208 <span class="comment">// Paquete TFTP tipo ERROR packet</span>
|
||||
<a name="l00209"></a>00209 <span class="keyword">struct </span>tftppacket_error
|
||||
<a name="l00210"></a>00210 {
|
||||
<a name="l00211"></a>00211 WORD opcode;
|
||||
<a name="l00212"></a>00212 WORD errorcode;
|
||||
<a name="l00213"></a>00213 <span class="keywordtype">char</span> errormessage[508];
|
||||
<a name="l00214"></a>00214 };
|
||||
<a name="l00215"></a>00215 <span class="comment">// Estructura para trabajar en cada hebra con el cliente en cuestion</span>
|
||||
<a name="l00216"></a>00216 <span class="keyword">struct </span>TramaTftp{
|
||||
<a name="l00217"></a>00217 SOCKET sck;
|
||||
<a name="l00218"></a>00218 <span class="keyword">struct </span>sockaddr_in cliente;
|
||||
<a name="l00219"></a>00219 socklen_t sockaddrsize;
|
||||
<a name="l00220"></a>00220 <span class="keyword">struct </span>tftp_packet pckTftp;
|
||||
<a name="l00221"></a>00221 FILE * fileboot;
|
||||
<a name="l00222"></a>00222 <span class="keywordtype">int</span> bloquesize;
|
||||
<a name="l00223"></a>00223 <span class="keywordtype">int</span> tsize;
|
||||
<a name="l00224"></a>00224 <span class="keywordtype">int</span> interval;
|
||||
<a name="l00225"></a>00225 <span class="keywordtype">int</span> numblock;
|
||||
<a name="l00226"></a>00226 <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> currentopCode;
|
||||
<a name="l00227"></a>00227 };
|
||||
<a name="l00228"></a>00228 <span class="comment">//______________________________________________________</span>
|
||||
<a name="l00229"></a>00229 <span class="keyword">static</span> pthread_mutex_t guardia; <span class="comment">// Controla acceso exclusivo de hebras </span>
|
||||
<a name="l00230"></a>00230 <span class="comment">//______________________________________________________</span>
|
||||
<a name="l00231"></a>00231 <span class="keywordtype">char</span> IPlocal[20];
|
||||
<a name="l00232"></a>00232 <span class="keywordtype">char</span> usuario[20];
|
||||
<a name="l00233"></a>00233 <span class="keywordtype">char</span> pasguor[20];
|
||||
<a name="l00234"></a>00234 <span class="keywordtype">char</span> datasource[20];
|
||||
<a name="l00235"></a>00235 <span class="keywordtype">char</span> catalog[50];
|
||||
<a name="l00236"></a>00236
|
||||
<a name="l00237"></a>00237 <span class="comment">// Prototipo de funciones</span>
|
||||
<a name="l00238"></a>00238 <span class="keywordtype">void</span> RegistraLog(<span class="keywordtype">char</span> *,<span class="keywordtype">int</span>);
|
||||
<a name="l00239"></a>00239 <span class="keywordtype">int</span> TomaParametrosReg();
|
||||
<a name="l00240"></a>00240
|
||||
<a name="l00241"></a>00241 LPVOID ServicioDHCP(LPVOID);
|
||||
<a name="l00242"></a>00242 LPVOID ServicioBOOTP(LPVOID);
|
||||
<a name="l00243"></a>00243 LPVOID ServicioTFTP(LPVOID);
|
||||
<a name="l00244"></a>00244 LPVOID GestionaServicioDHCP(LPVOID);
|
||||
<a name="l00245"></a>00245 LPVOID GestionaServicioBOOTP(LPVOID);
|
||||
<a name="l00246"></a>00246 LPVOID GestionaServicioTFTP(LPVOID);
|
||||
<a name="l00247"></a>00247
|
||||
<a name="l00248"></a>00248 <span class="keywordtype">int</span> ClienteExistente(<span class="keyword">struct</span> TramaDhcpBootp *,<span class="keywordtype">char</span>*,<span class="keywordtype">int</span>);
|
||||
<a name="l00249"></a>00249 <span class="keywordtype">int</span> OpcionesPresentes(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *);
|
||||
<a name="l00250"></a>00250 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * BuscaOpcion(dhcp_packet* ,<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> );
|
||||
<a name="l00251"></a>00251
|
||||
<a name="l00252"></a>00252 <span class="keywordtype">int</span> OpcionPXEClient(dhcp_packet* );
|
||||
<a name="l00253"></a>00253 <span class="keywordtype">void</span> ProcesaTramaClientePXE(<span class="keyword">struct</span> TramaDhcpBootp* trmInfo);
|
||||
<a name="l00254"></a>00254 <span class="keywordtype">void</span> ProcesaTramaClienteDHCP(<span class="keyword">struct</span> TramaDhcpBootp* trmInfo);
|
||||
<a name="l00255"></a>00255 <span class="keywordtype">void</span> ProcesaTramaClienteBOOTP(<span class="keyword">struct</span> TramaDhcpBootp* trmInfo);
|
||||
<a name="l00256"></a>00256 <span class="keywordtype">void</span> ProcesaTramaClienteTFTP(<span class="keyword">struct</span> TramaTftp * trmInfo);
|
||||
<a name="l00257"></a>00257
|
||||
<a name="l00258"></a>00258 <span class="keywordtype">void</span> RellenaIPCLiente(<span class="keyword">struct</span> TramaDhcpBootp*);
|
||||
<a name="l00259"></a>00259 <span class="keywordtype">void</span> RellenaIPServidor(<span class="keyword">struct</span> TramaDhcpBootp*);
|
||||
<a name="l00260"></a>00260 <span class="keywordtype">void</span> dhcpDISCOVER_PXE(<span class="keyword">struct</span> TramaDhcpBootp*);
|
||||
<a name="l00261"></a>00261 <span class="keywordtype">void</span> dhcpREQUEST_PXE(<span class="keyword">struct</span> TramaDhcpBootp*);
|
||||
<a name="l00262"></a>00262 <span class="keywordtype">void</span> bootpREQUEST_PXE(<span class="keyword">struct</span> TramaDhcpBootp*);
|
||||
<a name="l00263"></a>00263
|
||||
<a name="l00264"></a>00264 <span class="keywordtype">int</span> PeticionFichero(<span class="keyword">struct</span> TramaTftp*);
|
||||
<a name="l00265"></a>00265
|
||||
<a name="l00266"></a>00266 <span class="keywordtype">void</span> AdjDHCPOFFER(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>**,<span class="keywordtype">int</span>*);
|
||||
<a name="l00267"></a>00267 <span class="keywordtype">void</span> AdjDHCPACK(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>**,<span class="keywordtype">int</span>*);
|
||||
<a name="l00268"></a>00268 <span class="keywordtype">void</span> AdjROUTERS(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>** ,<span class="keywordtype">int</span>*);
|
||||
<a name="l00269"></a>00269 <span class="keywordtype">void</span> AdjSUBNETMASK(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>**,<span class="keywordtype">int</span>*);
|
||||
<a name="l00270"></a>00270 <span class="keywordtype">void</span> AdjCLASSIDENTIFIER(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>** ,<span class="keywordtype">int</span>*);
|
||||
<a name="l00271"></a>00271 <span class="keywordtype">void</span> AdjSERVERIDENTIFIER(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>** ,<span class="keywordtype">int</span>*);
|
||||
<a name="l00272"></a>00272 <span class="keywordtype">void</span> AdjLEASETIME(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>** ,<span class="keywordtype">int</span>*);
|
||||
<a name="l00273"></a>00273 <span class="keywordtype">void</span> AdjBOOTSIZE(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>** ,<span class="keywordtype">int</span>*);
|
||||
<a name="l00274"></a>00274
|
||||
<a name="l00275"></a>00275 SOCKET TomaSocketUser();
|
||||
<a name="l00276"></a>00276 <span class="keyword">struct </span>tm * TomaHora();
|
||||
<a name="l00277"></a>00277 <span class="keywordtype">int</span> split_parametros(<span class="keywordtype">char</span> **,<span class="keywordtype">char</span> *, <span class="keywordtype">char</span> *);
|
||||
<a name="l00278"></a>00278 <span class="keywordtype">void</span> duerme(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> );
|
||||
</pre></div></div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generado el Mon Jun 15 10:24:00 2009 por
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,309 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>Fichero Fuente Hidra/hidrac/fuentes/hidrac.h</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generado por Doxygen 1.5.5 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Página principal</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Archivos</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h1>Hidra/hidrac/fuentes/hidrac.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// ***************************************************************************************************************************************</span>
|
||||
<a name="l00002"></a>00002 <span class="comment">// Aplicacin HIDRA (Gestin y Admistracin de aulas de informtica)</span>
|
||||
<a name="l00003"></a>00003 <span class="comment">// Copyright 2003-2007 Jos Manuel Alonso. Todos los derechos reservados.</span>
|
||||
<a name="l00004"></a>00004 <span class="comment">// Fichero: hidrax.h</span>
|
||||
<a name="l00005"></a>00005 <span class="comment">// Descripcin:</span>
|
||||
<a name="l00006"></a>00006 <span class="comment">// Fichero de cabecera de hidrax.cpp</span>
|
||||
<a name="l00007"></a>00007 <span class="comment">// ***************************************************************************************************************************************</span>
|
||||
<a name="l00008"></a>00008 <span class="preprocessor">#include <sys/types.h></span>
|
||||
<a name="l00009"></a>00009 <span class="preprocessor">#include <sys/wait.h></span>
|
||||
<a name="l00010"></a>00010 <span class="preprocessor">#include <sys/socket.h></span>
|
||||
<a name="l00011"></a>00011 <span class="preprocessor">#include <netinet/in.h></span>
|
||||
<a name="l00012"></a>00012 <span class="preprocessor">#include <netdb.h></span>
|
||||
<a name="l00013"></a>00013 <span class="preprocessor">#include <arpa/inet.h></span>
|
||||
<a name="l00014"></a>00014 <span class="preprocessor">#include <stdio.h></span>
|
||||
<a name="l00015"></a>00015 <span class="preprocessor">#include <stdlib.h></span>
|
||||
<a name="l00016"></a>00016 <span class="preprocessor">#include <string.h></span>
|
||||
<a name="l00017"></a>00017 <span class="preprocessor">#include <errno.h></span>
|
||||
<a name="l00018"></a>00018 <span class="preprocessor">#include <unistd.h></span>
|
||||
<a name="l00019"></a>00019 <span class="preprocessor">#include <ctype.h></span>
|
||||
<a name="l00020"></a>00020 <span class="preprocessor">#include <time.h></span>
|
||||
<a name="l00021"></a>00021 <span class="preprocessor">#include <signal.h></span>
|
||||
<a name="l00022"></a>00022
|
||||
<a name="l00023"></a>00023 <span class="preprocessor">#define LEER 0</span>
|
||||
<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define ESCRIBIR 1</span>
|
||||
<a name="l00025"></a>00025 <span class="preprocessor"></span>
|
||||
<a name="l00026"></a>00026 <span class="preprocessor">#define LONGITUD_SCRIPTSALIDA 1024 // Longitud máima de la informacin devuelta por un script</span>
|
||||
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define LONGITUD_PARAMETROS 4048 // Longitud m?ima de la informacin de la trama (parametros)</span>
|
||||
<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define LONGITUD_TRAMA LONGITUD_PARAMETROS+11 // Longitud m?ima de la trama completa</span>
|
||||
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define LONGITUD_CONFIGURACION 1024 // Longitud mxima de las configuraciones de particin</span>
|
||||
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define MAX_NUM_CSADDRS 20</span>
|
||||
<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define MAX_INTERFACE_LIST 20</span>
|
||||
<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define MAXCNX 5 // Mximos intentos de conexión al servidor HIDRA</span>
|
||||
<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#define MAXITEMS 100</span>
|
||||
<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define MAXHTMLMNU 4000</span>
|
||||
<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#define MAXPARTICIONES 24</span>
|
||||
<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#define MAXINFOSO 5 // Numero máximo de nemonicos enla inforamción del S.O. de una partición </span>
|
||||
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define MAXARGS 16 // Numero máximo de argumentos enviados a un scripts </span>
|
||||
<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define LONSTD 512 // Longitud de memoria estandar </span>
|
||||
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define LONSTDC 256 // Longitud de memoria estandar corta</span>
|
||||
<a name="l00040"></a>00040 <span class="preprocessor"></span>
|
||||
<a name="l00041"></a>00041 <span class="preprocessor">#define PUERTOMINUSER 20000</span>
|
||||
<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor">#define PUERTOMAXUSER 60000</span>
|
||||
<a name="l00043"></a>00043 <span class="preprocessor"></span>
|
||||
<a name="l00044"></a>00044 <span class="preprocessor">#define TRUE 1</span>
|
||||
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#define FALSE 0</span>
|
||||
<a name="l00046"></a>00046 <span class="preprocessor"></span>
|
||||
<a name="l00047"></a>00047 <span class="preprocessor">#define true 1</span>
|
||||
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#define false 0</span>
|
||||
<a name="l00049"></a>00049 <span class="preprocessor"></span>
|
||||
<a name="l00050"></a>00050 <span class="preprocessor">#define SOCKET_ERROR (-1)</span>
|
||||
<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#define INVALID_SOCKET (SOCKET)(~0)</span>
|
||||
<a name="l00052"></a>00052 <span class="preprocessor"></span>
|
||||
<a name="l00053"></a>00053 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> WORD;
|
||||
<a name="l00054"></a>00054 <span class="keyword">typedef</span> <span class="keywordtype">int</span> BOOL;
|
||||
<a name="l00055"></a>00055 <span class="keyword">typedef</span> <span class="keywordtype">char</span> BYTE;
|
||||
<a name="l00056"></a>00056 <span class="keyword">typedef</span> <span class="keywordtype">int</span> SOCKET;
|
||||
<a name="l00057"></a>00057
|
||||
<a name="l00058"></a>00058 <span class="keyword">typedef</span> <span class="keyword">struct</span>{ <span class="comment">// EstructUra de la trama recibida</span>
|
||||
<a name="l00059"></a>00059 <span class="keywordtype">char</span> arroba; <span class="comment">// cabecera de la trama</span>
|
||||
<a name="l00060"></a>00060 <span class="keywordtype">char</span> identificador[9]; <span class="comment">// identificador de la trama</span>
|
||||
<a name="l00061"></a>00061 <span class="keywordtype">char</span> ejecutor; <span class="comment">// ejecutor de la trama 1=el servidor hidra 2=el cliente hidra 3=el repositorio</span>
|
||||
<a name="l00062"></a>00062 <span class="keywordtype">char</span> parametros[LONGITUD_PARAMETROS]; <span class="comment">// Contenido de la trama (par?etros)</span>
|
||||
<a name="l00063"></a>00063 }TRAMA;
|
||||
<a name="l00064"></a>00064
|
||||
<a name="l00065"></a>00065 TRAMA trama[1];
|
||||
<a name="l00066"></a>00066
|
||||
<a name="l00067"></a>00067 <span class="keywordtype">char</span> IPlocal[20]; <span class="comment">// Ip local</span>
|
||||
<a name="l00068"></a>00068 <span class="keywordtype">char</span> Servidorhidra[20]; <span class="comment">// IP servidor HIDRA</span>
|
||||
<a name="l00069"></a>00069 <span class="keywordtype">char</span> Puerto[20]; <span class="comment">// Puerto Unicode</span>
|
||||
<a name="l00070"></a>00070
|
||||
<a name="l00071"></a>00071 <span class="keywordtype">char</span> szPathFileCfg[128];
|
||||
<a name="l00072"></a>00072 <span class="keywordtype">char</span> szPathFileLog[128];
|
||||
<a name="l00073"></a>00073
|
||||
<a name="l00074"></a>00074 <span class="comment">//___________________________________________________________________________________________________</span>
|
||||
<a name="l00075"></a>00075 <span class="comment">// Variables y estructuras</span>
|
||||
<a name="l00076"></a>00076 <span class="comment">//___________________________________________________________________________________________________</span>
|
||||
<a name="l00077"></a>00077
|
||||
<a name="l00078"></a>00078 <span class="keywordtype">char</span> cmdshell[LONSTD];
|
||||
<a name="l00079"></a>00079 <span class="keywordtype">char</span> parametros[LONSTD];
|
||||
<a name="l00080"></a>00080 <span class="keywordtype">char</span>* argumentos[MAXARGS];
|
||||
<a name="l00081"></a>00081 <span class="keywordtype">char</span> msglog[LONSTD];
|
||||
<a name="l00082"></a>00082 <span class="keywordtype">char</span> msgcon[LONSTD];
|
||||
<a name="l00083"></a>00083 <span class="keywordtype">char</span> filecmdshell[LONSTDC];
|
||||
<a name="l00084"></a>00084 <span class="keywordtype">char</span> filemenu[LONSTDC];
|
||||
<a name="l00085"></a>00085 <span class="keywordtype">char</span> fileitem[LONSTDC];
|
||||
<a name="l00086"></a>00086 <span class="keywordtype">char</span> fileini[LONSTDC];
|
||||
<a name="l00087"></a>00087 <span class="keywordtype">char</span> filecmd[LONSTDC];
|
||||
<a name="l00088"></a>00088
|
||||
<a name="l00089"></a>00089 <span class="keyword">struct </span>excepcion {
|
||||
<a name="l00090"></a>00090 <span class="keywordtype">int</span> herror;
|
||||
<a name="l00091"></a>00091 <span class="keywordtype">char</span> msg[LONSTDC];
|
||||
<a name="l00092"></a>00092 <span class="keywordtype">char</span> modulo[LONSTDC];
|
||||
<a name="l00093"></a>00093 };
|
||||
<a name="l00094"></a>00094 <span class="keyword">struct </span>excepcion e;
|
||||
<a name="l00095"></a>00095
|
||||
<a name="l00096"></a>00096 <span class="keywordtype">int</span> ndebug=1; <span class="comment">// Nivel de debuger por defecto</span>
|
||||
<a name="l00097"></a>00097
|
||||
<a name="l00098"></a>00098 <span class="comment">// Nemónicos</span>
|
||||
<a name="l00099"></a>00099 <span class="keywordtype">int</span> MsDos=1;
|
||||
<a name="l00100"></a>00100 <span class="keywordtype">int</span> Win98=2;
|
||||
<a name="l00101"></a>00101 <span class="keywordtype">int</span> Win2K=3;
|
||||
<a name="l00102"></a>00102 <span class="keywordtype">int</span> WinXP=4;
|
||||
<a name="l00103"></a>00103 <span class="keywordtype">int</span> Linux=5;
|
||||
<a name="l00104"></a>00104
|
||||
<a name="l00105"></a>00105 BOOL PROCESO=<span class="keyword">true</span>; <span class="comment">// Indicador de la actividad del proceso principal</span>
|
||||
<a name="l00106"></a>00106 BOOL CACHEEXISTS; <span class="comment">// Indica si existe cache</span>
|
||||
<a name="l00107"></a>00107
|
||||
<a name="l00108"></a>00108 <span class="keywordtype">char</span> HIDRACHEIMAGENES[LONSTDC]; <span class="comment">// Path al directorio donde están las imágenes (en la caché)</span>
|
||||
<a name="l00109"></a>00109 <span class="keywordtype">char</span> HIDRASRVIMAGENES[LONSTDC]; <span class="comment">// Path al directorio hidra donde están las imágenes (en el repositorio)</span>
|
||||
<a name="l00110"></a>00110 <span class="keywordtype">char</span> HIDRASRVCMD[LONSTDC]; <span class="comment">// Path del directorio del repositorio donde se depositan los comandos para el cliente hidra</span>
|
||||
<a name="l00111"></a>00111 <span class="keywordtype">char</span> HIDRASCRIPTS[LONSTDC]; <span class="comment">// Path al directorio donde están los scripts de hidra (en el cliente hidra)</span>
|
||||
<a name="l00112"></a>00112
|
||||
<a name="l00113"></a>00113 <span class="keywordtype">int</span> HIDRAVER; <span class="comment">// Versión Hidra</span>
|
||||
<a name="l00114"></a>00114 <span class="keywordtype">int</span> TPAR ; <span class="comment">// Tamaño de la particin</span>
|
||||
<a name="l00115"></a>00115
|
||||
<a name="l00116"></a>00116 SOCKET sock; <span class="comment">// Socket</span>
|
||||
<a name="l00117"></a>00117
|
||||
<a name="l00118"></a>00118 <span class="keyword">struct </span>s_CabMnu {
|
||||
<a name="l00119"></a>00119 <span class="keywordtype">char</span> resolucion[2]; <span class="comment">// Resolucin de pantalla</span>
|
||||
<a name="l00120"></a>00120 <span class="keywordtype">char</span> titulo[LONSTDC]; <span class="comment">// Titulo del menu</span>
|
||||
<a name="l00121"></a>00121 <span class="keywordtype">char</span> coorx[4]; <span class="comment">// Coordenada x</span>
|
||||
<a name="l00122"></a>00122 <span class="keywordtype">char</span> coory[4]; <span class="comment">// Coordenada y</span>
|
||||
<a name="l00123"></a>00123 <span class="keywordtype">char</span> modalidad[2]; <span class="comment">// modalidad ( numero de items por linea )</span>
|
||||
<a name="l00124"></a>00124 <span class="keywordtype">char</span> scoorx[4]; <span class="comment">// Coordenada x // Menu privado</span>
|
||||
<a name="l00125"></a>00125 <span class="keywordtype">char</span> scoory[4]; <span class="comment">// Coordenada y</span>
|
||||
<a name="l00126"></a>00126 <span class="keywordtype">char</span> smodalidad[LONSTDC]; <span class="comment">// modalidad ( numero de items por linea )</span>
|
||||
<a name="l00127"></a>00127 <span class="keywordtype">char</span> htmmenupub[64]; <span class="comment">// Nombre del fichero que contiene el html del menu (público)</span>
|
||||
<a name="l00128"></a>00128 <span class="keywordtype">char</span> htmmenupri[64]; <span class="comment">// Nombre del fichero que contiene el html del menu (privado)</span>
|
||||
<a name="l00129"></a>00129 } CabMnu; <span class="comment">// Estructura con los datos de los menús</span>
|
||||
<a name="l00130"></a>00130
|
||||
<a name="l00131"></a>00131 BOOL swmnu=<span class="keyword">false</span>; <span class="comment">// Indicador de menu asignado</span>
|
||||
<a name="l00132"></a>00132
|
||||
<a name="l00133"></a>00133 <span class="keyword">struct </span>s_Item{
|
||||
<a name="l00134"></a>00134 <span class="keywordtype">char</span> idaccionmenu[16]; <span class="comment">// Identificador del item a ejecutar</span>
|
||||
<a name="l00135"></a>00135 <span class="keywordtype">char</span> urlimg[64]; <span class="comment">// Nombre de la imagen de fonfo del botn</span>
|
||||
<a name="l00136"></a>00136 <span class="keywordtype">char</span> literal[LONSTDC]; <span class="comment">// Literal del item</span>
|
||||
<a name="l00137"></a>00137 <span class="keywordtype">char</span> tipoitem[2]; <span class="comment">// Tipo de otem ( público o privado)</span>
|
||||
<a name="l00138"></a>00138 <span class="keywordtype">char</span> tipoaccion[2]; <span class="comment">// Tipo de accin que ejecuta el item</span>
|
||||
<a name="l00139"></a>00139 } ;
|
||||
<a name="l00140"></a>00140
|
||||
<a name="l00141"></a>00141 <span class="keyword">struct </span>s_Propiedades {
|
||||
<a name="l00142"></a>00142 <span class="keywordtype">char</span> idordenador[16]; <span class="comment">// Identificador del ordenador</span>
|
||||
<a name="l00143"></a>00143 <span class="keywordtype">char</span> nombreordenador[64]; <span class="comment">// Nombre del ordenador</span>
|
||||
<a name="l00144"></a>00144 <span class="keywordtype">char</span> idaula[16]; <span class="comment">// Identificador del aula</span>
|
||||
<a name="l00145"></a>00145 <span class="keywordtype">char</span> servidorhidra[64]; <span class="comment">// IP del servidor HUDRA</span>
|
||||
<a name="l00146"></a>00146 <span class="keywordtype">char</span> puerto[16]; <span class="comment">// Puerto</span>
|
||||
<a name="l00147"></a>00147 <span class="keywordtype">char</span> iprepo[16]; <span class="comment">// Direción IP repositorio </span>
|
||||
<a name="l00148"></a>00148 <span class="keywordtype">char</span> puertorepo[16]; <span class="comment">// Puerto </span>
|
||||
<a name="l00149"></a>00149 <span class="keywordtype">char</span> idperfilhard[16]; <span class="comment">// Identificador del perfil hardware</span>
|
||||
<a name="l00150"></a>00150 <span class="keywordtype">char</span> IPlocal[16]; <span class="comment">// Ip local</span>
|
||||
<a name="l00151"></a>00151 } Propiedades; <span class="comment">// Estructura con los datos del odenador</span>
|
||||
<a name="l00152"></a>00152
|
||||
<a name="l00153"></a>00153 <span class="keyword">struct </span>s_Particiones{
|
||||
<a name="l00154"></a>00154 <span class="keywordtype">char</span> tiposo[64]; <span class="comment">// Tipo de sistema operativo </span>
|
||||
<a name="l00155"></a>00155 <span class="keywordtype">char</span> tipopart[16]; <span class="comment">// Tipo de particin</span>
|
||||
<a name="l00156"></a>00156 <span class="keywordtype">char</span> tamapart[16]; <span class="comment">// Tamao de la particin</span>
|
||||
<a name="l00157"></a>00157 <span class="keywordtype">char</span> numpart[5]; <span class="comment">// Nmero de la particin</span>
|
||||
<a name="l00158"></a>00158 <span class="keywordtype">char</span> nombreso[64]; <span class="comment">// Nombre del S.O.</span>
|
||||
<a name="l00159"></a>00159 };
|
||||
<a name="l00160"></a>00160
|
||||
<a name="l00161"></a>00161 <span class="keyword">struct </span>s_Hardware{
|
||||
<a name="l00162"></a>00162 <span class="keywordtype">char</span> nemonico[4]; <span class="comment">// Tipo de sistema operativo </span>
|
||||
<a name="l00163"></a>00163 <span class="keywordtype">char</span> tipo[45]; <span class="comment">// Tipo de hardware</span>
|
||||
<a name="l00164"></a>00164 <span class="keywordtype">char</span> codigovalor[256]; <span class="comment">// Codigo o descripcion</span>
|
||||
<a name="l00165"></a>00165 }
|
||||
<a name="l00166"></a>00166 ;
|
||||
<a name="l00167"></a>00167 <span class="keyword">struct </span>tiposo {
|
||||
<a name="l00168"></a>00168 <span class="keywordtype">char</span> *tipopart;
|
||||
<a name="l00169"></a>00169 <span class="keywordtype">char</span> *tiposo;
|
||||
<a name="l00170"></a>00170 <span class="keywordtype">char</span> *nombreso;
|
||||
<a name="l00171"></a>00171 };
|
||||
<a name="l00172"></a>00172 <span class="keyword">struct </span>tiposo tiposos[] = {
|
||||
<a name="l00173"></a>00173 {<span class="stringliteral">"BIGDOS"</span>, <span class="stringliteral">"MsDos"</span>,<span class="stringliteral">"MsDos"</span>},
|
||||
<a name="l00174"></a>00174 {<span class="stringliteral">"NTFS"</span>,<span class="stringliteral">"Windows NT Platafom"</span>,<span class="stringliteral">"Windows 2000,XP,2003"</span>},
|
||||
<a name="l00175"></a>00175 {<span class="stringliteral">"FAT32"</span>,<span class="stringliteral">"Windows"</span>,<span class="stringliteral">"Windos 98,SE,Millenium"</span>},
|
||||
<a name="l00176"></a>00176 {<span class="stringliteral">"EXT"</span>,<span class="stringliteral">"Extendida"</span>,<span class="stringliteral">"Extendida"</span>},
|
||||
<a name="l00177"></a>00177 {<span class="stringliteral">"EXT3"</span>,<span class="stringliteral">"Linux"</span>,<span class="stringliteral">"Linux"</span>},
|
||||
<a name="l00178"></a>00178 {<span class="stringliteral">"EXT2"</span>,<span class="stringliteral">"Linux"</span>,<span class="stringliteral">"Linux"</span>},
|
||||
<a name="l00179"></a>00179 {<span class="stringliteral">"VFAT"</span>,<span class="stringliteral">"VFAT"</span>,<span class="stringliteral">"VFAT"</span>},
|
||||
<a name="l00180"></a>00180 {<span class="stringliteral">"CACHE"</span>,<span class="stringliteral">"CACHE"</span>,<span class="stringliteral">"CACHE"</span>},
|
||||
<a name="l00181"></a>00181 {<span class="stringliteral">"UNKNOWN"</span>,<span class="stringliteral">"UNKNOWN"</span>,<span class="stringliteral">"UNKNOWN"</span>},
|
||||
<a name="l00182"></a>00182 {<span class="stringliteral">"EMPTY"</span>,<span class="stringliteral">"Libre"</span>,<span class="stringliteral">"Libre"</span>},
|
||||
<a name="l00183"></a>00183 {<span class="stringliteral">"LINUX-SWAP"</span>,<span class="stringliteral">""</span>,<span class="stringliteral">"Linux-swap"</span>}};
|
||||
<a name="l00184"></a>00184
|
||||
<a name="l00185"></a>00185 <span class="keywordtype">int</span> ntiposo = <span class="keyword">sizeof</span> (tiposos) / <span class="keyword">sizeof</span> (<span class="keyword">struct</span> tiposo);
|
||||
<a name="l00186"></a>00186
|
||||
<a name="l00187"></a>00187 <span class="keyword">struct </span>s_Item tbMenu[MAXITEMS]; <span class="comment">// Tabla con los items del menu</span>
|
||||
<a name="l00188"></a>00188 <span class="keywordtype">int</span> contitems; <span class="comment">// Contador items del menu</span>
|
||||
<a name="l00189"></a>00189
|
||||
<a name="l00190"></a>00190 BOOL PRCCMD; <span class="comment">// Indicador de comandos interactivos</span>
|
||||
<a name="l00191"></a>00191 BOOL CMDPTES; <span class="comment">// Indicador de comandos pendientes</span>
|
||||
<a name="l00192"></a>00192
|
||||
<a name="l00193"></a>00193 <span class="comment">//char modulo[64]; // Nombre de la funcin donde se produce el error</span>
|
||||
<a name="l00194"></a>00194
|
||||
<a name="l00195"></a>00195 BOOL aut = <span class="keyword">false</span>; <span class="comment">// Variable para controlar el acceso al menu de administracion</span>
|
||||
<a name="l00196"></a>00196
|
||||
<a name="l00197"></a>00197
|
||||
<a name="l00198"></a>00198 <span class="keywordtype">char</span>* tbErrores[]={<span class="stringliteral">"000-Se han generado errores. No se puede continuar la ejecución de este módulo"</span>,\
|
||||
<a name="l00199"></a>00199 <span class="stringliteral">"001-No hay memoria suficiente para el buffer"</span>,\
|
||||
<a name="l00200"></a>00200 <span class="stringliteral">"002-No se puede establecer conexión con el servidor Hidra"</span>,\
|
||||
<a name="l00201"></a>00201 <span class="stringliteral">"003-El fichero especificado no existe o bien no puede crearse o abrirse"</span>,\
|
||||
<a name="l00202"></a>00202 <span class="stringliteral">"004-Comando Error"</span>,\
|
||||
<a name="l00203"></a>00203 <span class="stringliteral">"005-El fichero est vacio"</span>,\
|
||||
<a name="l00204"></a>00204 <span class="stringliteral">"006-Error en la ejecución del fichero autoexec"</span>,\
|
||||
<a name="l00205"></a>00205 <span class="stringliteral">"007-Error en la recuperacion del Menu principal"</span>,\
|
||||
<a name="l00206"></a>00206 <span class="stringliteral">"008-No hay espacio reservado para la cache en este disco"</span>,\
|
||||
<a name="l00207"></a>00207 <span class="stringliteral">"009-Ha ocurrido algún error generando el perfil software"</span>,\
|
||||
<a name="l00208"></a>00208 <span class="stringliteral">"010-IPlocal, NO se ha definido este parámetro"</span>,\
|
||||
<a name="l00209"></a>00209 <span class="stringliteral">"011-IPhidra, NO se ha definido este parámetro"</span>,\
|
||||
<a name="l00210"></a>00210 <span class="stringliteral">"012-Puerto, NO se ha definido este parámetro"</span>,\
|
||||
<a name="l00211"></a>00211 <span class="stringliteral">"013-NO existe fichero de configuración o contiene un error de sintaxis"</span>,\
|
||||
<a name="l00212"></a>00212 <span class="stringliteral">"014-Fallo de sintaxis en los parámetros: Debe especificar -f nombre_del_fichero_de_configuración"</span>,\
|
||||
<a name="l00213"></a>00213 <span class="stringliteral">"015-No se ha podido crear socket para comunicación con el repositorio"</span>,\
|
||||
<a name="l00214"></a>00214 <span class="stringliteral">"016-No se ha podido comunicar con el repositorio"</span>,\
|
||||
<a name="l00215"></a>00215 <span class="stringliteral">"017-No existe Menu principal"</span>,\
|
||||
<a name="l00216"></a>00216 <span class="stringliteral">"018-No se ha podido recuperar la configuración hardware del ordenador"</span>,\
|
||||
<a name="l00217"></a>00217 <span class="stringliteral">"019-El cliente no se ha podido incluir en el sistema por un fallo en la conexión con el Servidor Hidra"</span>,\
|
||||
<a name="l00218"></a>00218 <span class="stringliteral">"020-No se ha podido crear la carpeta en el repositorio"</span>,\
|
||||
<a name="l00219"></a>00219 <span class="stringliteral">"021-Error en el envío de tramas al servidor Hidra"</span>,\
|
||||
<a name="l00220"></a>00220 <span class="stringliteral">"022-Error en la recepción de tramas desde el servidor Hidra"</span>,\
|
||||
<a name="l00221"></a>00221 <span class="stringliteral">"023-Error desconocido"</span>,\
|
||||
<a name="l00222"></a>00222 };
|
||||
<a name="l00223"></a>00223
|
||||
<a name="l00224"></a>00224 <span class="preprocessor">#define MAXERROR 23 // Error máximo cometido</span>
|
||||
<a name="l00225"></a>00225 <span class="preprocessor"></span>
|
||||
<a name="l00226"></a>00226 <span class="comment">// Prototipos de funciones</span>
|
||||
<a name="l00227"></a>00227 <span class="keywordtype">char</span>* Desencriptar(<span class="keywordtype">char</span> *);
|
||||
<a name="l00228"></a>00228 <span class="keywordtype">char</span>* Encriptar(<span class="keywordtype">char</span> *);
|
||||
<a name="l00229"></a>00229 <span class="keywordtype">int</span> ValidacionParametros(<span class="keywordtype">int</span>,<span class="keywordtype">char</span>**);
|
||||
<a name="l00230"></a>00230 <span class="keywordtype">int</span> CrearArchivoLog(<span class="keywordtype">char</span>*);
|
||||
<a name="l00231"></a>00231 <span class="keywordtype">int</span> LeeFileConfiguracion();
|
||||
<a name="l00232"></a>00232 <span class="keywordtype">void</span> Log(<span class="keywordtype">char</span>*);
|
||||
<a name="l00233"></a>00233 <span class="keywordtype">void</span> UltimoError(<span class="keywordtype">int</span>,<span class="keywordtype">char</span>*);
|
||||
<a name="l00234"></a>00234 <span class="keywordtype">void</span> INTROaFINCAD(<span class="keywordtype">char</span>*);
|
||||
<a name="l00235"></a>00235 <span class="keywordtype">char</span>* TomaParametro(<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*);
|
||||
<a name="l00236"></a>00236 <span class="keywordtype">int</span> SplitParametros(<span class="keywordtype">char</span>**,<span class="keywordtype">char</span>*, <span class="keywordtype">char</span>*);
|
||||
<a name="l00237"></a>00237
|
||||
<a name="l00238"></a>00238 <span class="keywordtype">int</span> EjecutarScript (<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>* ,<span class="keywordtype">char</span>*,<span class="keywordtype">int</span>);
|
||||
<a name="l00239"></a>00239 <span class="keywordtype">char</span>* ReservaMemoria(<span class="keywordtype">int</span>);
|
||||
<a name="l00240"></a>00240
|
||||
<a name="l00241"></a>00241 SOCKET TCPConnect(<span class="keywordtype">char</span> *,<span class="keywordtype">char</span>* );
|
||||
<a name="l00242"></a>00242 <span class="keywordtype">void</span> TCPClose(SOCKET);
|
||||
<a name="l00243"></a>00243 <span class="keywordtype">int</span> AbreConexionTCP(<span class="keywordtype">void</span>);
|
||||
<a name="l00244"></a>00244 <span class="keywordtype">void</span> CierraConexionTCP(<span class="keywordtype">void</span>);
|
||||
<a name="l00245"></a>00245 <span class="keywordtype">int</span> EnviaTramasHidra(SOCKET,TRAMA*);
|
||||
<a name="l00246"></a>00246 <span class="keywordtype">int</span> RecibeTramasHidra(SOCKET,TRAMA*);
|
||||
<a name="l00247"></a>00247 <span class="keywordtype">int</span> TCPWrite(SOCKET ,TRAMA*);
|
||||
<a name="l00248"></a>00248 <span class="keywordtype">int</span> TCPRead(SOCKET ,TRAMA*);
|
||||
<a name="l00249"></a>00249 SOCKET UDPConnect();
|
||||
<a name="l00250"></a>00250 <span class="keywordtype">int</span> EnviaTramaRepo(SOCKET,TRAMA*,<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*);
|
||||
<a name="l00251"></a>00251 <span class="keywordtype">int</span> RecibeTramaRepo(SOCKET);
|
||||
<a name="l00252"></a>00252
|
||||
<a name="l00253"></a>00253 <span class="keywordtype">long</span> CreateTextFile(<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*);
|
||||
<a name="l00254"></a>00254 <span class="keywordtype">int</span> ExisteFichero(<span class="keywordtype">char</span>*);
|
||||
<a name="l00255"></a>00255 <span class="keywordtype">int</span> RemoveFile(<span class="keywordtype">char</span> *);
|
||||
<a name="l00256"></a>00256 <span class="keywordtype">int</span> LoadTextFile(<span class="keywordtype">char</span> *);
|
||||
<a name="l00257"></a>00257
|
||||
<a name="l00258"></a>00258 <span class="keywordtype">int</span> ProcesaComandos();
|
||||
<a name="l00259"></a>00259 <span class="keywordtype">int</span> DisponibilidadComandos(<span class="keywordtype">int</span>);
|
||||
<a name="l00260"></a>00260 <span class="keywordtype">int</span> GestionTramas(TRAMA *);
|
||||
<a name="l00261"></a>00261
|
||||
<a name="l00262"></a>00262 <span class="keywordtype">int</span> Cortesia();
|
||||
<a name="l00263"></a>00263 <span class="keywordtype">int</span> NoComandosPtes();
|
||||
<a name="l00264"></a>00264 <span class="keywordtype">int</span> TomaIPlocal();
|
||||
<a name="l00265"></a>00265 <span class="keywordtype">int</span> InclusionClienteHIDRA();
|
||||
<a name="l00266"></a>00266 <span class="keywordtype">int</span> RESPUESTA_InclusionClienteHIDRA(TRAMA*);
|
||||
<a name="l00267"></a>00267 <span class="keywordtype">int</span> ComandosPendientes(<span class="keywordtype">void</span>);
|
||||
<a name="l00268"></a>00268 <span class="keywordtype">int</span> Arrancar(TRAMA *,TRAMA *);
|
||||
<a name="l00269"></a>00269 <span class="keywordtype">int</span> Apagar(TRAMA*,TRAMA*);
|
||||
<a name="l00270"></a>00270 <span class="keywordtype">int</span> Reiniciar(TRAMA*,TRAMA*);
|
||||
<a name="l00271"></a>00271 <span class="keywordtype">int</span> Actualizar();
|
||||
<a name="l00272"></a>00272 <span class="keywordtype">int</span> CrearPerfilSoftware(TRAMA*,TRAMA*);
|
||||
<a name="l00273"></a>00273 <span class="keywordtype">int</span> CrearPerfil(<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*);
|
||||
<a name="l00274"></a>00274 <span class="keywordtype">int</span> Nemonico(<span class="keywordtype">char</span>*);
|
||||
<a name="l00275"></a>00275 <span class="keywordtype">int</span> RestaurarImagen(TRAMA*,TRAMA*);
|
||||
<a name="l00276"></a>00276 <span class="keywordtype">int</span> RestaurandoImagen(<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*);
|
||||
<a name="l00277"></a>00277 <span class="keywordtype">int</span> ParticionaryFormatear(TRAMA*,TRAMA*);
|
||||
<a name="l00278"></a>00278 <span class="keywordtype">int</span> Particionar(<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>* );
|
||||
<a name="l00279"></a>00279 <span class="keywordtype">int</span> Particionando(<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*);
|
||||
<a name="l00280"></a>00280 <span class="keywordtype">int</span> Formatear(<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*);
|
||||
<a name="l00281"></a>00281 <span class="keywordtype">int</span> SetCachePartitionSize(<span class="keywordtype">int</span>);
|
||||
<a name="l00282"></a>00282 <span class="keywordtype">int</span> AutoexecClienteHidra(<span class="keywordtype">void</span>);
|
||||
<a name="l00283"></a>00283 <span class="keywordtype">char</span>* LeeConfiguracion(<span class="keywordtype">char</span>*);
|
||||
<a name="l00284"></a>00284 <span class="keywordtype">char</span>* TomaNomSO(<span class="keywordtype">char</span>*,<span class="keywordtype">int</span>);
|
||||
<a name="l00285"></a>00285 <span class="keywordtype">int</span> InventarioHardware(TRAMA *,TRAMA *);
|
||||
<a name="l00286"></a>00286 <span class="keywordtype">int</span> TomaConfiguracion(TRAMA *,TRAMA *);
|
||||
<a name="l00287"></a>00287 <span class="keywordtype">int</span> RespuestaEjecucionComando(TRAMA* , TRAMA *, <span class="keywordtype">int</span>);
|
||||
<a name="l00288"></a>00288 <span class="keywordtype">int</span> ExecShell(TRAMA *,TRAMA *);
|
||||
<a name="l00289"></a>00289 <span class="keywordtype">char</span>* URLDecode(<span class="keywordtype">char</span>*);
|
||||
</pre></div></div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generado el Mon Jun 15 10:24:00 2009 por
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,153 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>Fichero Fuente Hidra/hidrarepos/fuentes/hidrarepos.h</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generado por Doxygen 1.5.5 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Página principal</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Archivos</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h1>Hidra/hidrarepos/fuentes/hidrarepos.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// *************************************************************************************************************</span>
|
||||
<a name="l00002"></a>00002 <span class="comment">// Aplicacin HIDRA</span>
|
||||
<a name="l00003"></a>00003 <span class="comment">// Copyright 2003-2007 Jos Manuel Alonso. Todos los derechos reservados.</span>
|
||||
<a name="l00004"></a>00004 <span class="comment">// Fichero: hidrarepos.h</span>
|
||||
<a name="l00005"></a>00005 <span class="comment">// </span>
|
||||
<a name="l00006"></a>00006 <span class="comment">// Descripcin:</span>
|
||||
<a name="l00007"></a>00007 <span class="comment">// Fichero de cabecera de hidrapxedhcp.cpp</span>
|
||||
<a name="l00008"></a>00008 <span class="comment">// **************************************************************************************************************</span>
|
||||
<a name="l00009"></a>00009 <span class="preprocessor">#include <sys/types.h></span>
|
||||
<a name="l00010"></a>00010 <span class="preprocessor">#include <sys/socket.h></span>
|
||||
<a name="l00011"></a>00011 <span class="preprocessor">#include <arpa/inet.h></span>
|
||||
<a name="l00012"></a>00012 <span class="preprocessor">#include <stdio.h></span>
|
||||
<a name="l00013"></a>00013 <span class="preprocessor">#include <stdlib.h></span>
|
||||
<a name="l00014"></a>00014 <span class="preprocessor">#include <string.h></span>
|
||||
<a name="l00015"></a>00015 <span class="preprocessor">#include <errno.h></span>
|
||||
<a name="l00016"></a>00016 <span class="preprocessor">#include <unistd.h></span>
|
||||
<a name="l00017"></a>00017 <span class="preprocessor">#include <ctype.h></span>
|
||||
<a name="l00018"></a>00018 <span class="preprocessor">#include <time.h></span>
|
||||
<a name="l00019"></a>00019 <span class="preprocessor">#include </usr/include/mysql/mysql.h></span>
|
||||
<a name="l00020"></a>00020 <span class="preprocessor">#include <pthread.h></span>
|
||||
<a name="l00021"></a>00021 <span class="preprocessor">#include <signal.h></span>
|
||||
<a name="l00022"></a>00022 <span class="preprocessor">#include "Database.h"</span>
|
||||
<a name="l00023"></a>00023 <span class="preprocessor">#include "encriptacion.h"</span>
|
||||
<a name="l00024"></a>00024
|
||||
<a name="l00025"></a>00025 <span class="preprocessor">#define LONGITUD_PARAMETROS 4048 // Longitud m?ima de la informacin de la trama (parametros)</span>
|
||||
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define LONGITUD_TRAMA LONGITUD_PARAMETROS+8 // Longitud m?ima de la trama completa</span>
|
||||
<a name="l00027"></a>00027 <span class="preprocessor"></span>
|
||||
<a name="l00028"></a>00028 <span class="preprocessor">#define MAXIMOS_CLIENTES 4000 // M?imo numero de clientes rembo controlados por el servidor rembo</span>
|
||||
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define MAXCNX 5 // Mximos intentos de conexin al servidor HIDRA</span>
|
||||
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define PUERTO_WAKEUP 9 // Puerto por defecto del wake up</span>
|
||||
<a name="l00031"></a>00031 <span class="preprocessor"></span>
|
||||
<a name="l00032"></a>00032 <span class="preprocessor">#define PUERTOMINUSER 20000</span>
|
||||
<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#define PUERTOMAXUSER 60000</span>
|
||||
<a name="l00034"></a>00034 <span class="preprocessor"></span>
|
||||
<a name="l00035"></a>00035 <span class="preprocessor">#define LEER 0</span>
|
||||
<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#define ESCRIBIR 1</span>
|
||||
<a name="l00037"></a>00037 <span class="preprocessor"></span>
|
||||
<a name="l00038"></a>00038 <span class="preprocessor">#define TRUE 1</span>
|
||||
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define FALSE 0</span>
|
||||
<a name="l00040"></a>00040 <span class="preprocessor"></span>
|
||||
<a name="l00041"></a>00041 <span class="preprocessor">#define true 1</span>
|
||||
<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor">#define false 0</span>
|
||||
<a name="l00043"></a>00043 <span class="preprocessor"></span>
|
||||
<a name="l00044"></a>00044 <span class="preprocessor">#define SOCKET_ERROR (-1)</span>
|
||||
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#define INVALID_SOCKET (SOCKET)(~0)</span>
|
||||
<a name="l00046"></a>00046 <span class="preprocessor"></span>
|
||||
<a name="l00047"></a>00047 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> DWORD;
|
||||
<a name="l00048"></a>00048 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> WORD;
|
||||
<a name="l00049"></a>00049 <span class="keyword">typedef</span> <span class="keywordtype">int</span> BOOL;
|
||||
<a name="l00050"></a>00050 <span class="keyword">typedef</span> <span class="keywordtype">char</span> BYTE;
|
||||
<a name="l00051"></a>00051 <span class="keyword">typedef</span> <span class="keywordtype">int</span> SOCKET;
|
||||
<a name="l00052"></a>00052 <span class="keyword">typedef</span> <span class="keywordtype">void</span>* LPVOID;
|
||||
<a name="l00053"></a>00053
|
||||
<a name="l00054"></a>00054 <span class="keyword">typedef</span> <span class="keyword">struct</span>{ <span class="comment">// EstructUra de la trama recibida</span>
|
||||
<a name="l00055"></a>00055 <span class="keywordtype">char</span> arroba; <span class="comment">// cabecera de la trama</span>
|
||||
<a name="l00056"></a>00056 <span class="keywordtype">char</span> identificador[9]; <span class="comment">// identificador de la trama</span>
|
||||
<a name="l00057"></a>00057 <span class="keywordtype">char</span> ejecutor; <span class="comment">// ejecutor de la trama 1=el servidor rembo 2=el cliente rembo</span>
|
||||
<a name="l00058"></a>00058 <span class="keywordtype">char</span> parametros[LONGITUD_PARAMETROS]; <span class="comment">// Contenido de la trama (par?etros)</span>
|
||||
<a name="l00059"></a>00059 }TRAMA;
|
||||
<a name="l00060"></a>00060
|
||||
<a name="l00061"></a>00061 <span class="comment">// Estructura para trabajar en cada hebra con el cliente en cuestion</span>
|
||||
<a name="l00062"></a>00062 <span class="keyword">struct </span>TramaRepos{
|
||||
<a name="l00063"></a>00063 SOCKET sck;
|
||||
<a name="l00064"></a>00064 <span class="keyword">struct </span>sockaddr_in cliente;
|
||||
<a name="l00065"></a>00065 socklen_t sockaddrsize;
|
||||
<a name="l00066"></a>00066 TRAMA trama;
|
||||
<a name="l00067"></a>00067 };
|
||||
<a name="l00068"></a>00068 <span class="keywordtype">char</span> szPathFileCfg[128],szPathFileLog[128];
|
||||
<a name="l00069"></a>00069 FILE *FLog,*Fconfig;
|
||||
<a name="l00070"></a>00070 SOCKET sClient;
|
||||
<a name="l00071"></a>00071
|
||||
<a name="l00072"></a>00072 <span class="keywordtype">char</span> IPlocal[20]; <span class="comment">// Ip local</span>
|
||||
<a name="l00073"></a>00073 <span class="keywordtype">char</span> servidorhidra[20]; <span class="comment">// IP servidor HIDRA</span>
|
||||
<a name="l00074"></a>00074 <span class="keywordtype">char</span> Puerto[20]; <span class="comment">// Puerto Unicode</span>
|
||||
<a name="l00075"></a>00075 <span class="keywordtype">int</span> puerto; <span class="comment">// Puerto</span>
|
||||
<a name="l00076"></a>00076
|
||||
<a name="l00077"></a>00077 <span class="keywordtype">char</span> filecmdshell[250];
|
||||
<a name="l00078"></a>00078 <span class="keywordtype">char</span> cmdshell[512];
|
||||
<a name="l00079"></a>00079
|
||||
<a name="l00080"></a>00080 <span class="keywordtype">char</span> msglog[250];
|
||||
<a name="l00081"></a>00081
|
||||
<a name="l00082"></a>00082 <span class="keywordtype">char</span> usuario[20];
|
||||
<a name="l00083"></a>00083 <span class="keywordtype">char</span> pasguor[20];
|
||||
<a name="l00084"></a>00084 <span class="keywordtype">char</span> datasource[20];
|
||||
<a name="l00085"></a>00085 <span class="keywordtype">char</span> catalog[50];
|
||||
<a name="l00086"></a>00086 <span class="keywordtype">int</span> puertorepo; <span class="comment">// Puerto</span>
|
||||
<a name="l00087"></a>00087
|
||||
<a name="l00088"></a>00088 <span class="comment">//______________________________________________________</span>
|
||||
<a name="l00089"></a>00089 <span class="keyword">static</span> pthread_mutex_t guardia; <span class="comment">// Controla acceso exclusivo de hebras </span>
|
||||
<a name="l00090"></a>00090 <span class="comment">//______________________________________________________</span>
|
||||
<a name="l00091"></a>00091
|
||||
<a name="l00092"></a>00092 <span class="keywordtype">char</span> PathHidra[1024]; <span class="comment">// path al directorio base de Hidra</span>
|
||||
<a name="l00093"></a>00093 <span class="keywordtype">char</span> PathComandos[1024]; <span class="comment">// path al directorio donde se depositan los comandos para los clientes</span>
|
||||
<a name="l00094"></a>00094 <span class="keywordtype">char</span> PathUsuarios[1024]; <span class="comment">// path al directorio donde se depositan los ficheros de login de los operadores</span>
|
||||
<a name="l00095"></a>00095 <span class="keywordtype">char</span> PathIconos[1024]; <span class="comment">// path al directorio donde se depositan los iconos de los items de los mens</span>
|
||||
<a name="l00096"></a>00096
|
||||
<a name="l00097"></a>00097 <span class="comment">// Prototipos de funciones</span>
|
||||
<a name="l00098"></a>00098 <span class="keywordtype">void</span> RegistraLog(<span class="keywordtype">char</span> *,<span class="keywordtype">int</span> );
|
||||
<a name="l00099"></a>00099 <span class="keywordtype">int</span> split_parametros(<span class="keywordtype">char</span> **,<span class="keywordtype">char</span> *, <span class="keywordtype">char</span> * );
|
||||
<a name="l00100"></a>00100 <span class="keywordtype">int</span> TomaConfiguracion(<span class="keywordtype">char</span>* );
|
||||
<a name="l00101"></a>00101 <span class="keywordtype">void</span> INTROaFINCAD(<span class="keywordtype">char</span>* );
|
||||
<a name="l00102"></a>00102 <span class="keywordtype">void</span> FINCADaINTRO(<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*);
|
||||
<a name="l00103"></a>00103 <span class="keywordtype">char</span> * toma_parametro(<span class="keywordtype">char</span>* ,<span class="keywordtype">char</span> *);
|
||||
<a name="l00104"></a>00104 <span class="keywordtype">int</span> ClienteExistente(TramaRepos *);
|
||||
<a name="l00105"></a>00105 LPVOID GestionaServicioRepositorio(LPVOID);
|
||||
<a name="l00106"></a>00106 <span class="keywordtype">int</span> Actualizar(TramaRepos*);
|
||||
<a name="l00107"></a>00107 <span class="keywordtype">int</span> Arrancar(TramaRepos *);
|
||||
<a name="l00108"></a>00108 <span class="keywordtype">int</span> Wake_Up(SOCKET,<span class="keywordtype">char</span> *);
|
||||
<a name="l00109"></a>00109 <span class="keywordtype">void</span> PasaHexBin( <span class="keywordtype">char</span> *,<span class="keywordtype">char</span> *);
|
||||
<a name="l00110"></a>00110 <span class="keywordtype">int</span> levanta(<span class="keywordtype">char</span> *);
|
||||
<a name="l00111"></a>00111 <span class="keywordtype">int</span> FicheroOperador(TramaRepos *);
|
||||
<a name="l00112"></a>00112 <span class="keywordtype">int</span> IconoItem(TramaRepos *);
|
||||
<a name="l00113"></a>00113
|
||||
<a name="l00114"></a>00114 <span class="keywordtype">bool</span> ExisteFichero(TramaRepos *);
|
||||
<a name="l00115"></a>00115 <span class="keywordtype">bool</span> EliminaFichero(TramaRepos *);
|
||||
<a name="l00116"></a>00116 <span class="keywordtype">bool</span> LeeFicheroTexto(TramaRepos *);
|
||||
<a name="l00117"></a>00117 <span class="keywordtype">int</span> gestiona_comando(TramaRepos *);
|
||||
<a name="l00118"></a>00118 <span class="keywordtype">bool</span> respuesta_peticion(TramaRepos *,<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*,<span class="keywordtype">char</span>*);
|
||||
<a name="l00119"></a>00119 <span class="keywordtype">bool</span> RecibePerfilSoftware(TramaRepos *trmInfo);
|
||||
<a name="l00120"></a>00120 <span class="keywordtype">bool</span> EnviaPerfilSoftware(TramaRepos *trmInfo);
|
||||
<a name="l00121"></a>00121 SOCKET Abre_conexion(<span class="keywordtype">char</span> *,<span class="keywordtype">int</span>);
|
||||
<a name="l00122"></a>00122 <span class="keywordtype">int</span> envia_tramas(SOCKET,TRAMA *);
|
||||
<a name="l00123"></a>00123 <span class="keywordtype">int</span> recibe_tramas(SOCKET ,TRAMA *);
|
||||
<a name="l00124"></a>00124 <span class="keywordtype">int</span> inclusion_REPO();
|
||||
<a name="l00125"></a>00125 <span class="keywordtype">int</span> RESPUESTA_inclusionREPO(TRAMA *);
|
||||
<a name="l00126"></a>00126 <span class="keywordtype">int</span> TomaRestoConfiguracion(TRAMA *);
|
||||
<a name="l00127"></a>00127 <span class="keywordtype">int</span> RegistraComando(TramaRepos *);
|
||||
<a name="l00128"></a>00128 <span class="keywordtype">int</span> Apagar(TramaRepos *);
|
||||
<a name="l00129"></a>00129 <span class="keywordtype">char</span> * Buffer(<span class="keywordtype">int</span> );
|
||||
<a name="l00130"></a>00130 <span class="keywordtype">int</span> TomaPuertoLibre(<span class="keywordtype">int</span> *);
|
||||
<a name="l00131"></a>00131 <span class="keywordtype">int</span> ejecutarscript ( <span class="keywordtype">char</span> *,<span class="keywordtype">char</span> * ,<span class="keywordtype">char</span> *);
|
||||
<a name="l00132"></a>00132 <span class="keywordtype">void</span> NwGestionaServicioRepositorio(TramaRepos *);
|
||||
<a name="l00133"></a>00133 <span class="keywordtype">int</span> ExecShell(<span class="keywordtype">char</span>*,<span class="keywordtype">char</span> *);
|
||||
</pre></div></div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generado el Mon Jun 15 10:24:00 2009 por
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,24 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>Página principal</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generado por Doxygen 1.5.5 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li class="current"><a href="index.html"><span>Página principal</span></a></li>
|
||||
<li><a href="files.html"><span>Archivos</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1></h1>
|
||||
<p>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generado el Mon Jun 15 10:24:00 2009 por
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
</html>
|
Binary file not shown.
After Width: | Height: | Size: 35 B |
Binary file not shown.
After Width: | Height: | Size: 706 B |
Binary file not shown.
After Width: | Height: | Size: 2.5 KiB |
|
@ -0,0 +1,102 @@
|
|||
/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
|
||||
|
||||
DIV.tabs
|
||||
{
|
||||
float : left;
|
||||
width : 100%;
|
||||
background : url("tab_b.gif") repeat-x bottom;
|
||||
margin-bottom : 4px;
|
||||
}
|
||||
|
||||
DIV.tabs UL
|
||||
{
|
||||
margin : 0px;
|
||||
padding-left : 10px;
|
||||
list-style : none;
|
||||
}
|
||||
|
||||
DIV.tabs LI, DIV.tabs FORM
|
||||
{
|
||||
display : inline;
|
||||
margin : 0px;
|
||||
padding : 0px;
|
||||
}
|
||||
|
||||
DIV.tabs FORM
|
||||
{
|
||||
float : right;
|
||||
}
|
||||
|
||||
DIV.tabs A
|
||||
{
|
||||
float : left;
|
||||
background : url("tab_r.gif") no-repeat right top;
|
||||
border-bottom : 1px solid #84B0C7;
|
||||
font-size : x-small;
|
||||
font-weight : bold;
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
DIV.tabs A:hover
|
||||
{
|
||||
background-position: 100% -150px;
|
||||
}
|
||||
|
||||
DIV.tabs A:link, DIV.tabs A:visited,
|
||||
DIV.tabs A:active, DIV.tabs A:hover
|
||||
{
|
||||
color: #1A419D;
|
||||
}
|
||||
|
||||
DIV.tabs SPAN
|
||||
{
|
||||
float : left;
|
||||
display : block;
|
||||
background : url("tab_l.gif") no-repeat left top;
|
||||
padding : 5px 9px;
|
||||
white-space : nowrap;
|
||||
}
|
||||
|
||||
DIV.tabs INPUT
|
||||
{
|
||||
float : right;
|
||||
display : inline;
|
||||
font-size : 1em;
|
||||
}
|
||||
|
||||
DIV.tabs TD
|
||||
{
|
||||
font-size : x-small;
|
||||
font-weight : bold;
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Commented Backslash Hack hides rule from IE5-Mac \*/
|
||||
DIV.tabs SPAN {float : none;}
|
||||
/* End IE5-Mac hack */
|
||||
|
||||
DIV.tabs A:hover SPAN
|
||||
{
|
||||
background-position: 0% -150px;
|
||||
}
|
||||
|
||||
DIV.tabs LI.current A
|
||||
{
|
||||
background-position: 100% -150px;
|
||||
border-width : 0px;
|
||||
}
|
||||
|
||||
DIV.tabs LI.current SPAN
|
||||
{
|
||||
background-position: 0% -150px;
|
||||
padding-bottom : 6px;
|
||||
}
|
||||
|
||||
DIV.navpath
|
||||
{
|
||||
background : none;
|
||||
border : none;
|
||||
border-bottom : 1px solid #84B0C7;
|
||||
}
|
|
@ -0,0 +1,239 @@
|
|||
# Doxyfile 1.5.5
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Project related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
DOXYFILE_ENCODING = UTF-8
|
||||
PROJECT_NAME =
|
||||
PROJECT_NUMBER =
|
||||
OUTPUT_DIRECTORY = doc
|
||||
CREATE_SUBDIRS = NO
|
||||
OUTPUT_LANGUAGE = Spanish
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
REPEAT_BRIEF = YES
|
||||
ABBREVIATE_BRIEF =
|
||||
ALWAYS_DETAILED_SEC = NO
|
||||
INLINE_INHERITED_MEMB = NO
|
||||
FULL_PATH_NAMES = YES
|
||||
STRIP_FROM_PATH =
|
||||
STRIP_FROM_INC_PATH =
|
||||
SHORT_NAMES = NO
|
||||
JAVADOC_AUTOBRIEF = NO
|
||||
QT_AUTOBRIEF = NO
|
||||
MULTILINE_CPP_IS_BRIEF = NO
|
||||
DETAILS_AT_TOP = NO
|
||||
INHERIT_DOCS = YES
|
||||
SEPARATE_MEMBER_PAGES = NO
|
||||
TAB_SIZE = 8
|
||||
ALIASES =
|
||||
OPTIMIZE_OUTPUT_FOR_C = NO
|
||||
OPTIMIZE_OUTPUT_JAVA = NO
|
||||
OPTIMIZE_FOR_FORTRAN = NO
|
||||
OPTIMIZE_OUTPUT_VHDL = NO
|
||||
BUILTIN_STL_SUPPORT = NO
|
||||
CPP_CLI_SUPPORT = NO
|
||||
SIP_SUPPORT = NO
|
||||
DISTRIBUTE_GROUP_DOC = NO
|
||||
SUBGROUPING = YES
|
||||
TYPEDEF_HIDES_STRUCT = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# Build related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
EXTRACT_ALL = NO
|
||||
EXTRACT_PRIVATE = NO
|
||||
EXTRACT_STATIC = NO
|
||||
EXTRACT_LOCAL_CLASSES = YES
|
||||
EXTRACT_LOCAL_METHODS = NO
|
||||
EXTRACT_ANON_NSPACES = NO
|
||||
HIDE_UNDOC_MEMBERS = NO
|
||||
HIDE_UNDOC_CLASSES = NO
|
||||
HIDE_FRIEND_COMPOUNDS = NO
|
||||
HIDE_IN_BODY_DOCS = NO
|
||||
INTERNAL_DOCS = NO
|
||||
CASE_SENSE_NAMES = YES
|
||||
HIDE_SCOPE_NAMES = NO
|
||||
SHOW_INCLUDE_FILES = YES
|
||||
INLINE_INFO = YES
|
||||
SORT_MEMBER_DOCS = YES
|
||||
SORT_BRIEF_DOCS = NO
|
||||
SORT_GROUP_NAMES = NO
|
||||
SORT_BY_SCOPE_NAME = NO
|
||||
GENERATE_TODOLIST = YES
|
||||
GENERATE_TESTLIST = YES
|
||||
GENERATE_BUGLIST = YES
|
||||
GENERATE_DEPRECATEDLIST= YES
|
||||
ENABLED_SECTIONS =
|
||||
MAX_INITIALIZER_LINES = 30
|
||||
SHOW_USED_FILES = YES
|
||||
SHOW_DIRECTORIES = NO
|
||||
FILE_VERSION_FILTER =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to warning and progress messages
|
||||
#---------------------------------------------------------------------------
|
||||
QUIET = NO
|
||||
WARNINGS = YES
|
||||
WARN_IF_UNDOCUMENTED = YES
|
||||
WARN_IF_DOC_ERROR = YES
|
||||
WARN_NO_PARAMDOC = NO
|
||||
WARN_FORMAT = "$file:$line: $text"
|
||||
WARN_LOGFILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT =
|
||||
INPUT_ENCODING = UTF-8
|
||||
FILE_PATTERNS =
|
||||
RECURSIVE = YES
|
||||
EXCLUDE =
|
||||
EXCLUDE_SYMLINKS = NO
|
||||
EXCLUDE_PATTERNS =
|
||||
EXCLUDE_SYMBOLS =
|
||||
EXAMPLE_PATH =
|
||||
EXAMPLE_PATTERNS =
|
||||
EXAMPLE_RECURSIVE = NO
|
||||
IMAGE_PATH =
|
||||
INPUT_FILTER =
|
||||
FILTER_PATTERNS =
|
||||
FILTER_SOURCE_FILES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to source browsing
|
||||
#---------------------------------------------------------------------------
|
||||
SOURCE_BROWSER = NO
|
||||
INLINE_SOURCES = NO
|
||||
STRIP_CODE_COMMENTS = YES
|
||||
REFERENCED_BY_RELATION = NO
|
||||
REFERENCES_RELATION = NO
|
||||
REFERENCES_LINK_SOURCE = YES
|
||||
USE_HTAGS = NO
|
||||
VERBATIM_HEADERS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the alphabetical class index
|
||||
#---------------------------------------------------------------------------
|
||||
ALPHABETICAL_INDEX = NO
|
||||
COLS_IN_ALPHA_INDEX = 5
|
||||
IGNORE_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the HTML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_HTML = YES
|
||||
HTML_OUTPUT = html
|
||||
HTML_FILE_EXTENSION = .html
|
||||
HTML_HEADER =
|
||||
HTML_FOOTER =
|
||||
HTML_STYLESHEET =
|
||||
HTML_ALIGN_MEMBERS = YES
|
||||
GENERATE_HTMLHELP = NO
|
||||
GENERATE_DOCSET = NO
|
||||
DOCSET_FEEDNAME = "Doxygen generated docs"
|
||||
DOCSET_BUNDLE_ID = org.doxygen.Project
|
||||
HTML_DYNAMIC_SECTIONS = NO
|
||||
CHM_FILE =
|
||||
HHC_LOCATION =
|
||||
GENERATE_CHI = NO
|
||||
BINARY_TOC = NO
|
||||
TOC_EXPAND = NO
|
||||
DISABLE_INDEX = NO
|
||||
ENUM_VALUES_PER_LINE = 4
|
||||
GENERATE_TREEVIEW = NO
|
||||
TREEVIEW_WIDTH = 250
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the LaTeX output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_LATEX = NO
|
||||
LATEX_OUTPUT = latex
|
||||
LATEX_CMD_NAME = latex
|
||||
MAKEINDEX_CMD_NAME = makeindex
|
||||
COMPACT_LATEX = NO
|
||||
PAPER_TYPE = a4wide
|
||||
EXTRA_PACKAGES =
|
||||
LATEX_HEADER =
|
||||
PDF_HYPERLINKS = YES
|
||||
USE_PDFLATEX = YES
|
||||
LATEX_BATCHMODE = NO
|
||||
LATEX_HIDE_INDICES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the RTF output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_RTF = NO
|
||||
RTF_OUTPUT = rtf
|
||||
COMPACT_RTF = NO
|
||||
RTF_HYPERLINKS = NO
|
||||
RTF_STYLESHEET_FILE =
|
||||
RTF_EXTENSIONS_FILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the man page output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_MAN = NO
|
||||
MAN_OUTPUT = man
|
||||
MAN_EXTENSION = .3
|
||||
MAN_LINKS = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the XML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_XML = NO
|
||||
XML_OUTPUT = xml
|
||||
XML_SCHEMA =
|
||||
XML_DTD =
|
||||
XML_PROGRAMLISTING = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options for the AutoGen Definitions output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_AUTOGEN_DEF = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the Perl module output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_PERLMOD = NO
|
||||
PERLMOD_LATEX = NO
|
||||
PERLMOD_PRETTY = YES
|
||||
PERLMOD_MAKEVAR_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the preprocessor
|
||||
#---------------------------------------------------------------------------
|
||||
ENABLE_PREPROCESSING = YES
|
||||
MACRO_EXPANSION = NO
|
||||
EXPAND_ONLY_PREDEF = NO
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED =
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES =
|
||||
GENERATE_TAGFILE =
|
||||
ALLEXTERNALS = NO
|
||||
EXTERNAL_GROUPS = YES
|
||||
PERL_PATH = /usr/bin/perl
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the dot tool
|
||||
#---------------------------------------------------------------------------
|
||||
CLASS_DIAGRAMS = YES
|
||||
MSCGEN_PATH =
|
||||
HIDE_UNDOC_RELATIONS = YES
|
||||
HAVE_DOT = NO
|
||||
CLASS_GRAPH = YES
|
||||
COLLABORATION_GRAPH = YES
|
||||
GROUP_GRAPHS = YES
|
||||
UML_LOOK = NO
|
||||
TEMPLATE_RELATIONS = NO
|
||||
INCLUDE_GRAPH = YES
|
||||
INCLUDED_BY_GRAPH = YES
|
||||
CALL_GRAPH = NO
|
||||
CALLER_GRAPH = NO
|
||||
GRAPHICAL_HIERARCHY = YES
|
||||
DIRECTORY_GRAPH = YES
|
||||
DOT_IMAGE_FORMAT = png
|
||||
DOT_PATH =
|
||||
DOTFILE_DIRS =
|
||||
DOT_GRAPH_MAX_NODES = 50
|
||||
MAX_DOT_GRAPH_DEPTH = 0
|
||||
DOT_TRANSPARENT = YES
|
||||
DOT_MULTI_TARGETS = NO
|
||||
GENERATE_LEGEND = YES
|
||||
DOT_CLEANUP = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to the search engine
|
||||
#---------------------------------------------------------------------------
|
||||
SEARCHENGINE = NO
|
Loading…
Reference in New Issue