Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / staging / unisys / visorchipset / parser.h
1 /* parser.h
2  *
3  * Copyright (C) 2010 - 2013 UNISYS CORPORATION
4  * All rights reserved.
5  *
6  * This program 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 2 of the License, or (at
9  * your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
14  * NON INFRINGEMENT.  See the GNU General Public License for more
15  * details.
16  */
17
18 #ifndef __PARSER_H__
19 #define __PARSER_H__
20
21 #include <linux/uuid.h>
22
23 #include "timskmod.h"
24 #include "channel.h"
25
26 typedef enum {
27         PARSERSTRING_INITIATOR,
28         PARSERSTRING_TARGET,
29         PARSERSTRING_CONNECTION,
30         PARSERSTRING_NAME,
31 } PARSER_WHICH_STRING;
32
33 struct parser_context *parser_init(u64 addr, u32 bytes, BOOL isLocal,
34                                    BOOL *tryAgain);
35 struct parser_context *parser_init_byte_stream(u64 addr, u32 bytes, BOOL local,
36                                        BOOL *retry);
37 void parser_param_start(struct parser_context *ctx,
38                         PARSER_WHICH_STRING which_string);
39 void *parser_param_get(struct parser_context *ctx, char *nam, int namesize);
40 void *parser_string_get(struct parser_context *ctx);
41 uuid_le parser_id_get(struct parser_context *ctx);
42 char *parser_simpleString_get(struct parser_context *ctx);
43 void *parser_byte_stream_get(struct parser_context *ctx, ulong *nbytes);
44 void parser_done(struct parser_context *ctx);
45
46 #endif