fred-mod-eppd-2.20.1
epp_parser.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2006-2018 CZ.NIC, z. s. p. o.
3  *
4  * This file is part of FRED.
5  *
6  * FRED is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * FRED is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with FRED. If not, see <https://www.gnu.org/licenses/>.
18  */
24 #ifndef EPP_PARSER_H
25 #define EPP_PARSER_H
26 
33 typedef enum {
43  /*
44  * when following status values are returned, connection is closed
45  */
56 
62 typedef enum {
63  EPP_RED_UNKNOWN_CMD,
64  EPP_RED_LOGIN,
65  EPP_RED_LOGOUT,
66  EPP_RED_CHECK,
67  EPP_RED_INFO,
68  EPP_RED_POLL,
69  EPP_RED_TRANSFER,
70  EPP_RED_CREATE,
71  EPP_RED_DELETE,
72  EPP_RED_RENEW,
73  EPP_RED_UPDATE,
74  EPP_RED_EXTCMD,
75  EPP_RED_HELLO
77 
85 void *epp_parser_init(const char *url_schema);
86 
93 void epp_parser_init_cleanup(void *schema);
94 
109  epp_context *epp_ctx, int loggedin, void *schema, const char *request, unsigned bytes,
110  epp_command_data **cdata, const eppd_server_xml_conf *xml_schema, epp_red_command_type *cmd_type);
111 
117 void epp_parser_request_cleanup(void *cdata_arg);
118 
119 
120 #endif /* EPP_PARSER_H */
Request is not xml.
Definition: epp_parser.h:47
void epp_parser_init_cleanup(void *schema)
This will cleanup command hash table, libxml&#39;s parser and release parsed xml schema.
Definition: epp_parser.c:580
Request is not command but &lt;hello&gt; frame this indicates that greeting should be generated.
Definition: epp_parser.h:42
This structure is central to the concept of the whole module.
Definition: epp_common.h:909
Request does not validate.
Definition: epp_parser.h:37
void epp_parser_request_cleanup(void *cdata_arg)
This will cleanup xpath context and parsed document tree.
Definition: epp_parser.c:587
parser_status epp_parse_command(epp_context *epp_ctx, int loggedin, void *schema, const char *request, unsigned bytes, epp_command_data **cdata_arg, const eppd_server_xml_conf *xml_schema, epp_red_command_type *cmd_type)
This is the main workhorse of parser component.
Definition: epp_parser.c:3378
Configuration of entities enabled in xml schemas.
Definition: epp_common.h:408
parser_status
EPP parser status values.
Definition: epp_parser.h:33
EPP context is a group of variables used often together.
Definition: epp_common.h:45
epp_red_command_type
Enumeration of all implemented EPP commands as defined in rfc.
Definition: epp_parser.h:62
A command other than login and logout.
Definition: epp_parser.h:36
Error when parsing xml schema.
Definition: epp_parser.h:48
Logout command.
Definition: epp_parser.h:35
Login command.
Definition: epp_parser.h:34
Internal parser error (e.g.
Definition: epp_parser.h:54
void * epp_parser_init(const char *url_schema)
This routine initializes libxml&#39;s parser, hash table for command recognition and parses xml schema...
Definition: epp_parser.c:532
Request is not a command nor hello frame.
Definition: epp_parser.h:46