fred-mod-eppd-2.14.0
epp_parser.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2007 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, version 2 of the License.
9  *
10  * FRED is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with FRED. If not, see <http://www.gnu.org/licenses/>.
17  */
23 #ifndef EPP_PARSER_H
24 #define EPP_PARSER_H
25 
32 typedef enum {
42  /*
43  * when following status values are returned, connection is closed
44  */
55 
61 typedef enum {
62  EPP_RED_UNKNOWN_CMD,
63  EPP_RED_LOGIN,
64  EPP_RED_LOGOUT,
65  EPP_RED_CHECK,
66  EPP_RED_INFO,
67  EPP_RED_POLL,
68  EPP_RED_TRANSFER,
69  EPP_RED_CREATE,
70  EPP_RED_DELETE,
71  EPP_RED_RENEW,
72  EPP_RED_UPDATE,
73  EPP_RED_EXTCMD,
74  EPP_RED_HELLO
76 
84 void *
85 epp_parser_init(const char *url_schema);
86 
93 void
94 epp_parser_init_cleanup(void *schema);
95 
111  int loggedin,
112  void *schema,
113  const char *request,
114  unsigned bytes,
115  epp_command_data **cdata,
116  epp_red_command_type *cmd_type);
117 
123 void
124 epp_parser_request_cleanup(void *cdata_arg);
125 
126 
127 #endif /* EPP_PARSER_H */
Request is not xml.
Definition: epp_parser.h:46
void * epp_parser_init(const char *url_schema)
This routine initializes libxml's parser, hash table for command recognition and parses xml schema...
Definition: epp_parser.c:517
Request is not command but <hello> frame this indicates that greeting should be generated.
Definition: epp_parser.h:41
parser_status epp_parse_command(epp_context *epp_ctx, int loggedin, void *schema, const char *request, unsigned bytes, epp_command_data **cdata, epp_red_command_type *cmd_type)
This is the main workhorse of parser component.
Definition: epp_parser.c:2954
This structure is central to the concept of the whole module.
Definition: epp_common.h:808
Request does not validate.
Definition: epp_parser.h:36
parser_status
EPP parser status values.
Definition: epp_parser.h:32
EPP context is a group of variables used often together.
Definition: epp_common.h:44
epp_red_command_type
Enumeration of all implemented EPP commands as defined in rfc.
Definition: epp_parser.h:61
A command other than login and logout.
Definition: epp_parser.h:35
Error when parsing xml schema.
Definition: epp_parser.h:47
Logout command.
Definition: epp_parser.h:34
void epp_parser_init_cleanup(void *schema)
This will cleanup command hash table, libxml's parser and release parsed xml schema.
Definition: epp_parser.c:564
void epp_parser_request_cleanup(void *cdata_arg)
This will cleanup xpath context and parsed document tree.
Definition: epp_parser.c:572
Login command.
Definition: epp_parser.h:33
Internal parser error (e.g.
Definition: epp_parser.h:53
Request is not a command nor hello frame.
Definition: epp_parser.h:45