Home | History | Annotate | Download | only in genrb
      1 //  2016 and later: Unicode, Inc. and others.
      2 // License & terms of use: http://www.unicode.org/copyright.html
      3 /*
      4 *******************************************************************************
      5 *
      6 *   Copyright (C) 1998-2011, International Business Machines
      7 *   Corporation and others.  All Rights Reserved.
      8 *
      9 *******************************************************************************
     10 *
     11 * File read.h
     12 *
     13 * Modification History:
     14 *
     15 *   Date        Name        Description
     16 *   05/26/99    stephen     Creation.
     17 *   5/10/01     Ram         removed ustdio dependency
     18 *******************************************************************************
     19 */
     20 
     21 #ifndef READ_H
     22 #define READ_H 1
     23 
     24 #include "unicode/utypes.h"
     25 #include "ustr.h"
     26 #include "ucbuf.h"
     27 
     28 /* The types of tokens which may be returned by getNextToken.
     29    NOTE: Keep these in sync with tokenNames in parse.c */
     30 enum ETokenType
     31 {
     32     TOK_STRING,          /* A string token, such as "MonthNames" */
     33     TOK_OPEN_BRACE,      /* An opening brace character */
     34     TOK_CLOSE_BRACE,     /* A closing brace character */
     35     TOK_COMMA,           /* A comma */
     36     TOK_COLON,           /* A colon */
     37 
     38     TOK_EOF,             /* End of the file has been reached successfully */
     39     TOK_ERROR,           /* An error, such an unterminated quoted string */
     40     TOK_TOKEN_COUNT      /* Number of "real" token types */
     41 };
     42 
     43 U_CFUNC UChar32 unescape(UCHARBUF *buf, UErrorCode *status);
     44 
     45 U_CFUNC void resetLineNumber(void);
     46 
     47 U_CFUNC enum ETokenType
     48 getNextToken(UCHARBUF *buf,
     49              struct UString *token,
     50              uint32_t *linenumber, /* out: linenumber of token */
     51              struct UString *comment,
     52              UErrorCode *status);
     53 
     54 #endif
     55