Synopsis - Cross-Reference

File: /Synopsis/Parsers/IDL/idlutil.h
 1// -*- c++ -*-
 2//                          Package   : omniidl
 3// idlutil.h                Created on: 1999/10/11
 4//			    Author    : Duncan Grisby (dpg1)
 5//
 6//    Copyright (C) 1999 AT&T Laboratories Cambridge
 7//
 8//  This file is part of omniidl.
 9//
10//  omniidl is free software; you can redistribute it and/or modify it
11//  under the terms of the GNU General Public License as published by
12//  the Free Software Foundation; either version 2 of the License, or
13//  (at your option) any later version.
14//
15//  This program is distributed in the hope that it will be useful,
16//  but WITHOUT ANY WARRANTY; without even the implied warranty of
17//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18//  General Public License for more details.
19//
20//  You should have received a copy of the GNU General Public License
21//  along with this program; if not, write to the Free Software
22//  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
23//  02111-1307, USA.
24//
25// Description:
26//   
27//   Utility functions
28
29// $Id: idlutil.h,v 1.9.2.1 2003/03/23 21:01:43 dgrisby Exp $
30// $Log: idlutil.h,v $
31// Revision 1.9.2.1  2003/03/23 21:01:43  dgrisby
32// Start of omniORB 4.1.x development branch.
33//
34// Revision 1.5.2.4  2002/01/15 16:38:15  dpg1
35// On the road to autoconf. Dependencies refactored, configure.ac
36// written. No makefiles yet.
37//
38// Revision 1.5.2.3  2000/10/27 16:31:11  dpg1
39// Clean up of omniidl dependencies and types, from omni3_develop.
40//
41// Revision 1.5.2.2  2000/10/10 10:18:51  dpg1
42// Update omniidl front-end from omni3_develop.
43//
44// Revision 1.3.2.1  2000/08/07 15:34:37  dpg1
45// Partial back-port of long long from omni3_1_develop.
46//
47// Revision 1.3  1999/11/09 12:41:40  dpg1
48// strcasecmp changes for NT, AIX.
49//
50// Revision 1.2  1999/11/04 17:16:54  dpg1
51// Changes for NT.
52//
53// Revision 1.1  1999/10/27 14:05:53  dpg1
54// *** empty log message ***
55//
56
57#ifndef _idlutil_h_
58#define _idlutil_h_
59
60#include <assert.h>
61
62#include <idlsysdep.h>
63
64#ifdef HAS_LongLong
65typedef IDL_ULongLong IdlIntLiteral;
66#else
67typedef IDL_ULong IdlIntLiteral;
68#endif
69
70#ifdef HAS_LongDouble
71typedef IDL_LongDouble IdlFloatLiteral;
72#else
73typedef IDL_Double IdlFloatLiteral;
74#endif
75
76// Version of strdup which uses new
77char*      idl_strdup(const char* s);
78IDL_WChar* idl_wstrdup(const IDL_WChar* s);
79
80// strlen, strcpy and strcat for wstring
81int        idl_wstrlen(const IDL_WChar* s);
82IDL_WChar* idl_wstrcpy(IDL_WChar* a, const IDL_WChar* b);
83IDL_WChar* idl_wstrcat(IDL_WChar* a, const IDL_WChar* b);
84
85#ifndef HAVE_STRCASECMP
86int strcasecmp(const char* s1, const char* s2);
87#endif
88
89
90// Versions of strtoul and strtod which work with the type sizes in use
91
92IdlIntLiteral   idl_strtoul(const char* text, int base);
93IdlFloatLiteral idl_strtod (const char* text);
94
95
96#endif // _idlutil_h_