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