Skip to content
Commits on Source (2)
Lib/*.lib
*Debug*
*Release*
*.sdf
*.suo
\ No newline at end of file
4.1.1:
Automake build routines
Simplified building routines in Linux, Windows and Mac
Removed routines possibly copyrighted by Borland
Handling for file permission denied of index files
Translated some documentation into English.
Added ChangeLog :)
4.1.0:
First release to be published under an open source license
ACLOCAL_AMFLAGS = -I m4
AUTOMAKE_OPTIONS = foreign
SUBDIRS = src/GM src/UT src/FYBA doc
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = fyba.pc
== INTRODUCTION ==
OpenFYBA is the source code release of the FYBA library, distributed by the
National Mapping Authority of Norway (Statens kartverk) to read and write
files in the National geodata standard format SOSI.
The original library has a long history, and was originally developed for
systems as diverse as DOS, OS/2-16, OS/2-32, Win16, Win32, and various UNIX
variants (POSIX, HPUX, Silicon graphics). In Norwegian. It shows in the
source code. OpenFYBA has been tested to run at least on Windows and Linux
environments.
We welcome any contributions towards internationalization of the library.
In the meantime, if you do not happen to speak Norwegian, google translate
can help you with the documentation.
Do send feedback if you think you can help to improve this documentation.
_______________________________________________________________________
Send feedback to: Thomas Hirsch <thomas.hirsch@statkart.no>
== INSTALLATION ==
The FYBA library depends on two helper libraries, GM for geometry routines
and UT for utilities. The general procedure is therefore:
- Compile libfybagm and libfybaut using the provided make scripts (or Visual
Studio project files).
- Compile libfyba using the provided make script.
- Optionally build and run the unit tests in the tests folder.
** Linux **
./configure
make
make install
If the first step does not work right away, try to rebuild the configure
file for your system with autotools first:
autoreconf --force --install
** Mac OS X **
See issue #12. Replace any include of vfs.h with mount.h, then proceed with as per the Linux instructions.
Patches welcome.
** Windows **
On Windows all three libs of the FYBA library (GM.lib, UT.lib, and FYBA.lib)
have to be build individually.
For building FYBA on Windows project files for MS Visual Studio Express 2012
are provided in the folders fyba/src/GM, fyba/src/UT and fyba/src/FYBA.
Using these project files the individual libs are built in a subfolder within
the project directory and then copied to the fyba/Lib folder.
Therefore the fyba/Lib folder has to be created before running the build process.
When GM.lib, UT.lib and FYBA.lib are built you may want to use the libs for
activating the SOSI-driver in GDAL. For building GDAL with SOSI-support on Windows
see: http://trac.osgeo.org/gdal/wiki/SOSI
** Other **
Do send feedback if you manage to compile the library on any other system!
== USAGE ==
Please refer to the extensive, but Norwegian documentation in docs/no_NB.
Take a moment to enjoy the pleasant International mix of method names.
Most methods have a few lines of example code to help you getting started.
If you do not speak Norwegian, try google translating the document.
I personally would also suggest to take a look at the
SOSI driver for the GDAL/OGR library for more usage examples.
== LICENSE ==
/******************************************************************************
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
****************************************************************************/
This diff is collapsed.
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.59])
AC_INIT(fyba, 4.1.1, thomas.hirsch@statkart.no)
AM_INIT_AUTOMAKE(fyba, 4.1.1)
LT_INIT()
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([include/fygm.h])
AC_CONFIG_HEADERS([config.h])
# Checks for programs.
AC_PROG_CXX
AC_PROG_CC
AC_PROG_CPP
AC_PROG_LIBTOOL
# Checks for libraries.
# Checks for header files.
AC_CHECK_HEADERS([fcntl.h float.h inttypes.h limits.h locale.h memory.h stdint.h stdlib.h string.h sys/ioctl.h sys/statvfs.h sys/time.h sys/vfs.h termios.h unistd.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
AC_TYPE_MODE_T
AC_TYPE_SIZE_T
# Checks for library functions.
AC_FUNC_MALLOC
AC_FUNC_REALLOC
AC_FUNC_STRCOLL
AC_FUNC_STRTOD
AC_CHECK_FUNCS([floor getcwd memmove memset mkdir modf pow rmdir sqrt strchr strerror strpbrk strstr strtol strtoul])
AC_OUTPUT
AC_OUTPUT(fyba.pc Makefile src/GM/Makefile src/UT/Makefile src/FYBA/Makefile doc/Makefile)
docdir = $(datadir)/doc/@PACKAGE@
doc_DATA = en_EN/fyba.html en_EN/fyba1.html en_EN/fyba2.html
<HTML>
<HEAD>
<META http-equiv="Content-Type" CONTENT="text/htm; iso-8859-1">
<TITLE>FYBA</TITLE>
</HEAD>
<frameset COLS="20%,80%">
<frame SRC="fyba1.html" NAME="Felt1" scrolling =auto>
<frame SRC="fyba2.html" NAME="Felt2" scrolling =auto>
</frameset>
</HTML>
This diff is collapsed.
This diff is collapsed.
<HTML>
<HEAD>
<META http-equiv="Content-Type" CONTENT="text/htm; iso-8859-1">
<TITLE>FYBA</TITLE>
</HEAD>
<frameset COLS="20%,80%">
<frame SRC="fyba1.html" NAME="Felt1" scrolling =auto>
<frame SRC="fyba2.html" NAME="Felt2" scrolling =auto>
</frameset>
</HTML>
This diff is collapsed.
This diff is collapsed.
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: @PACKAGE_NAME@
Description: FYBA library to read and write norwegian geodata standard format SOSI
Version: @PACKAGE_VERSION@
Requires:
Libs: -L${libdir} -lfyba
Cflags: -I${includedir}/fyba
This diff is collapsed.
/******************************************************************************
*
* STATENS KARTVERK - FYSAK
*
* Filename: fygm.h
*
* Content: Prototyper for generelle geometrirutiner.
*
* Copyright (c) 1990-2011 Statens kartverk
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
******************************************************************************/
#pragma once
#ifdef WIN32
#ifdef _DEBUG
#pragma comment (lib, "GmD.lib")
#else
#pragma comment (lib, "Gm.lib")
#endif
#endif
#ifndef SK_EntPnt_GM
# define SK_EntPnt_GM
#endif
/* --- Konstanter -- */
//#define PI 3.14159265358979324
#define PI 3.14159265358979323846
#define PIHALV (PI/2.0)
#define TOPI (PI*2.0)
/* --- Makroer -- */
#define Rad2Deg(Rad) ((Rad/PI)*180)
#define Rad2Gon(Rad) ((Rad/PI)*200)
#define Deg2Rad(Deg) ((Deg/180)*PI)
#define Gon2Rad(Gon) ((Gon/200)*PI)
/* ---- Funksjonsdefinisjoner for fygm.c -- */
SK_EntPnt_GM short GM_sver(double ka,double kn,double la,double ln,double na,double nn,
double ma,double mn,double *sa,double *sn);
SK_EntPnt_GM short GM_shor(double ka,double kn,double la,double ln,double na,double nn,
double ma,double mn,double *sa,double *sn);
SK_EntPnt_GM short GM_sLinLin(double ka,double kn,double la,double ln,double ma,double mn,
double na,double nn,double *sa,double *sn);
SK_EntPnt_GM short GM_Overlapp(double ka,double kn,double la,double ln,double ma,double mn,double na,double nn);
SK_EntPnt_GM short GM_sVektVekt(double ka,double kn,double la,double ln,double ma,double mn,
double na,double nn,double *sa,double *sn);
SK_EntPnt_GM short GM_sLinBue(double sa,double sn,double radius,double fi,double dfi,
double ka,double kn,double la,double ln,
double *a1,double *n1,double *a2,double *n2);
SK_EntPnt_GM short GM_sVektSirk(double sa,double sn,double radius,
double ka,double kn,double la,double ln,
double *a1,double *n1,double *a2,double *n2);
SK_EntPnt_GM short GM_sBueBue(double as1,double ns1,double radius1,double fi1,double dfi1,
double as2,double ns2,double radius2,double fi2,double dfi2,
double *a1,double *n1,double *a2,double *n2);
SK_EntPnt_GM short GM_sSirkSirk(double as1,double ns1,double radius1,
double as2,double ns2,double radius2,
double *a1,double *n1,double *a2,double *n2);
SK_EntPnt_GM short GM_fotp(double a1,double n1,double a2,double n2,double ap,double np,
double *af,double *nf);
SK_EntPnt_GM short GM_fotp_ny(double a1, double n1, double a2, double n2, double ap, double np,
double *af, double *nf);
SK_EntPnt_GM short GM_KonvBue(double a1,double n1,double a2,double n2,double radius,
short storbue,double *as,double *ns,double *fi,double *dfi);
SK_EntPnt_GM short GM_KonvBuep(double a1,double n1,double a2,double n2,double a3,double n3,
double *as,double *ns,double *radius,double *fi,double *dfi);
SK_EntPnt_GM short GM_KonvSirkel(double *fi,double *dfi);
SK_EntPnt_GM short GM_KonvSirkelp(double a1,double n1,double a2,double n2,double a3,double n3,
double *as,double *ns,double *radius,double *fi,double *dfi);
SK_EntPnt_GM short GM_bepa(double a1,double n1,double a2,double n2,
double *pa,double *pb,double *pc);
SK_EntPnt_GM short GM_bepa3(double a1, double n1, double h1,
double a2, double n2, double h2,
double *pf, double *pg, double *ph);
SK_EntPnt_GM short GM_cint(double pa1,double pb1,double pc1,double pa2,double pb2,
double pc2,double *as,double *ns);
SK_EntPnt_GM short GM_wtst(double p1a,double p1n,double p2a,double p2n,
double wmina,double wminn,double wmaxa,double wmaxn);
SK_EntPnt_GM short GM_wtstBue(double as,double ns,double radius,double fi,double dfi,
double wmina,double wminn,double wmaxa,double wmaxn);
SK_EntPnt_GM short GM_wtstPunkt(double PktA, double PktN, double wa1, double wn1, double wa2, double wn2, double wa3, double wn3,
double wa4, double wn4);
SK_EntPnt_GM short GM_Parallell(double ka,double kn,double la,double ln,double avstand,
double *ka1,double *kn1,double *la1,double *ln1);
SK_EntPnt_GM double GM_Avstand(double as, double ns, double a, double n);
SK_EntPnt_GM double GM_Avstand2(double a1, double n1, double a2, double n2);
SK_EntPnt_GM double GM_Areal(double *pA, double *pN, short sNko);
SK_EntPnt_GM double GM_retning(double ak,double nk,double al,double nl);
SK_EntPnt_GM double GM_RetnGon(double a1, double n1, double a2, double n2);
SK_EntPnt_GM double GM_Vinkel(double fi1, double fi2 );
SK_EntPnt_GM double GM_RedVinkel(double fi );
SK_EntPnt_GM void GM_RettvPol(double a1 , double n1, double a2, double n2,
double *gon, double *avst);
SK_EntPnt_GM void GM_PolRettv(double *a , double *n, double gon, double avst);
SK_EntPnt_GM void GM_buebox(double as,double ns,double radius,double fi,double dfi,
double *nva,double *nvn,double *oha,double *ohn);
SK_EntPnt_GM short GM_NormVindu(double *nva,double *nvn,double *oha,double *ohn);
SK_EntPnt_GM short GM_PktBue(double as,double ns,double fi,double dfi,
double a,double n,double *dfiPkt);
SK_EntPnt_GM short GM_TestPktBue(double as,double ns,double fi,double dfi,
double a,double n);
SK_EntPnt_GM short GM_BueTangent(double as, double ns, double fi, double dfi,
double radius, double a, double n, double *buetan);
SK_EntPnt_GM short GM_BueTilKorder (double as,double ns,double r,double fi,double dfi,
double delta,short mpu,double *a_arr,double *n_arr);
SK_EntPnt_GM void GM_PktTilOktagon (double dAs,double dNs,double dAreal,double *a_arr,double *n_arr);
SK_EntPnt_GM void GM_TynnDared(double dMaxAvst,double dMaxPil,long *nko, double *pA,double *pN);
/******************************************************************************
*
* STATENS KARTVERK - FYSAK
*
* Filename: fyut.h
*
* Content: Prototyper for generelle hjelperutiner og operativsystemavhengige rutiner.
*
* Copyright (c) 1990-2011 Statens kartverk
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
******************************************************************************/
#pragma once
#include <stdio.h>
#ifndef SK_EntPnt_UT
# define SK_EntPnt_UT
#endif
/* ----------------------------------------- Konstanter */
/* Div. manifeste konstantar */
#ifdef WIN32
#ifdef _DEBUG
#pragma comment (lib, "UtD.lib")
#else
#pragma comment (lib, "Ut.lib")
#endif
/* For DOS/OS2/Windows */
# define UT_SLASH '\\'
# define UT_STR_SLASH "\\"
# define UT_INT64 __int64
# define UT_SNPRINTF _snprintf_s
# define UT_FPRINTF fprintf_s
# define UT_GETPID _getpid
#else
/* For UNIX */
# ifdef LINUX /* specifically the LINUX */
# include <stdint.h>
# include <inttypes.h>
# define UT_INT64 int64_t
# endif
# define UT_SNPRINTF snprintf
# define UT_FPRINTF fprintf
# define UT_GETPID getpid
# define UT_SLASH '/'
# define UT_STR_SLASH "/"
# define cdecl
# define EZERO 0
# ifdef _FILE_OFFSET_BITS
# undef _FILE_OFFSET_BITS
# endif
# define _FILE_OFFSET_BITS 64
# include <limits.h>
# include <sys/types.h>
# ifdef WIN32
# include <io.h>
# else
# include <unistd.h>
# endif
# define _TRUNCATE 0
# define _fseeki64 fseek
# define _ftelli64 ftell
# define _strcmpi strcasecmp
#endif
#define UT_FALSE 0
#define UT_TRUE 1
#define UT_OVRFLW 2
#define UT_NULL 0L
#define UT_OK 0
#define UT_EOF 1
#define UT_ERROR -1
#define UT_READ 0
#define UT_WRITE 1
#define UT_UPDATE 2
#define UT_UNKNOWN 0
#define UT_OLD 1
#define UT_NEW 2
/* Konstanter for UT_KonverterTegnsett */
#define TS_UKJENT 0 /* Ukjent tegnsett */
#define TS_DOSN8 1 /* DOS norsk 8-bits (standardverdi) */
#define TS_ND7 2 /* Norsk Data 7-bits */
#define TS_DECM8 4 /* DEC multinasjonal 8-bits */
#define TS_DECN7 8 /* DEC norsk 7-bits */
#define TS_ISO8859 16 /* ISO8859-10 (Samisk og norsk mm. ) */
/* Div lengder for filnavn; jfr. stdlib.h */
#define _MAX_PATH 260 /* max. length of full pathname */
#define _MAX_DRIVE 3 /* max. length of drive component */
#define _MAX_DIR 256 /* max. length of path component */
#define _MAX_FNAME 256 /* max. length of file name component */
#define _MAX_EXT 256 /* max. length of extension component */
/* ----------------------------------------- Makroer */
#define max(a,b) (((a) > (b)) ? (a) : (b))
#define min(a,b) (((a) < (b)) ? (a) : (b))
/*
*!--------------------------------------------------------------!
*! Oppdateringstid for fil !
*!--------------------------------------------------------------!
*/
typedef struct dFTID {
unsigned short usAar;
unsigned short usMnd;
unsigned short usDag;
unsigned short usTime;
unsigned short usMin;
unsigned short usSek;
} FTID;
typedef FTID *PFTID;
/* ----------------------------------------- Prototyper */
SK_EntPnt_UT void UT_makepath(char *pathP,const char *driveP,const char *dirP,const char *nameP,const char *extP);
SK_EntPnt_UT void UT_splitpath(const char *pathP,char *driveP,char *dirP,char *nameP,char *extP);
SK_EntPnt_UT short UT_InqPathSize(char *pszPath,long *plSize);
SK_EntPnt_UT short UT_InqPathSize_i64(char *pszPath,UT_INT64 *n64Size);
SK_EntPnt_UT short UT_SetPathSize(char *pszPath,long lSize);
SK_EntPnt_UT short UT_SetPathSize_i64(char *pszPath, UT_INT64 n64Size);
SK_EntPnt_UT short UT_InqPathTid(char *pszPath,PFTID pFilTid);
SK_EntPnt_UT short UT_InqAvailSize(char *pszPath,unsigned long *pulLedigPlass);
SK_EntPnt_UT short UT_FullPath(char *pszBuffer, const char *pszPath, size_t maxlen);
SK_EntPnt_UT short UT_DeleteFile(char *pszPath);
SK_EntPnt_UT short UT_DeleteDir(char *pszPath);
SK_EntPnt_UT short UT_CreateDir(char *pszPath);
SK_EntPnt_UT short UT_FilnavnCmp(char *pszFil1,char *pszFil2);
SK_EntPnt_UT short UT_CopyFile(char *pszFraFilnavn,char *pszTilFilnavn,short sFeilHvisEksisterer);
/* Framhenting fr streng */
SK_EntPnt_UT char *UT_GetToken (char *str, short *l_tok);
SK_EntPnt_UT char UT_StrToken (char *str, short ii, short *iu, short mt, char *token);
SK_EntPnt_UT char UT_StrWord (char *str, short ii, short *iu, short mw, char *word);
SK_EntPnt_UT short UT_StrInt (char *str, short ii, short *iu, int *_int);
SK_EntPnt_UT short UT_StrInt64 (char str[], short ii, short *iu, UT_INT64 *i64);
SK_EntPnt_UT short UT_StrShort (char *str, short ii, short *iu, short *s);
SK_EntPnt_UT short UT_StrLong (char *str, short ii, short *iu, long *_long);
SK_EntPnt_UT short UT_StrUlong (char str[], short ii, short *iu, unsigned long *_ulong);
SK_EntPnt_UT short UT_StrDbl (char *str, short ii, short *iu, char decpt,double *dbl);
SK_EntPnt_UT void UT_StrCopy (char *tx_to, const char *tx_from, int tx_len);
SK_EntPnt_UT short UT_StrCat (char *dst,const char *src, const int maxlen);
SK_EntPnt_UT int UT_memcpy(void *dest,size_t numberOfElements,const void *src,size_t count);
SK_EntPnt_UT int UT_strerror(char *buffer,size_t numberOfElements,int errnum);
SK_EntPnt_UT char *UT_strtok(char *strToken,const char *strDelimit,char **context);
/* Konvertering */
#ifdef OS216
SK_EntPnt_UT short UT_AtoI (char *str, int *_int);
SK_EntPnt_UT short UT_AtoS (char str[], short *s);
SK_EntPnt_UT short UT_AtoL (char str[], long *_long);
#endif
SK_EntPnt_UT short UT_AtoD (char *str, char decpt, double *d);
SK_EntPnt_UT short UT_ItoA (int i, short sl, char *str);
SK_EntPnt_UT short UT_StoA (short s, short mstr, char *str);
SK_EntPnt_UT short UT_LtoA (long l, short sl, char *str);
SK_EntPnt_UT short UT_DtoA (double d, short dec, char decpt, short sl, char *str);
/* Strengmanipulering ellers */
SK_EntPnt_UT char *UT_ClrCrlf (char *str);
SK_EntPnt_UT char *UT_ClrTrailsp(char *str);
SK_EntPnt_UT char *UT_ClrExtrasp(char *str);
SK_EntPnt_UT void UT_JustStr (char justmode, char fill, short lstr, char *str);
SK_EntPnt_UT short UT_Index (char *str, char *substr);
SK_EntPnt_UT void UT_GetSubstr (char ctx[],short fra,short til,char sub[],short maxlen);
SK_EntPnt_UT char *UT_StrLower (char *tx);
SK_EntPnt_UT char *UT_StrUpper (char *tx);
SK_EntPnt_UT int UT_StrCmpi(const char *pszTx1, const char *pszTx2);
SK_EntPnt_UT int UT_StrColli(const char *pszTx1, const char *pszTx2);
SK_EntPnt_UT unsigned char *UT_Ascii7to8 (unsigned char *tx);
SK_EntPnt_UT unsigned char *UT_Ascii8to7 (unsigned char *tx);
SK_EntPnt_UT unsigned char *UT_ISO8859toAscii8(unsigned char *tx);
SK_EntPnt_UT unsigned char *UT_Ascii8toISO8859(unsigned char *tx);
SK_EntPnt_UT unsigned char *UT_ISO8859toAscii7(unsigned char *tx);
SK_EntPnt_UT unsigned char *UT_Ascii7toISO8859(unsigned char *tx);
SK_EntPnt_UT unsigned char *UT_KonverterTegnsett(short sFraTegnsett,short sTilTegnsett,
unsigned char *pszTx);
/* Andre teiknhandterings rutiner */
SK_EntPnt_UT int UT_IsSpace (char c);
SK_EntPnt_UT int UT_IsPrint (int ch);
SK_EntPnt_UT int UT_IsLower (int ch);
SK_EntPnt_UT int UT_IsUpper (int ch);
SK_EntPnt_UT int UT_ToUpper (int ch);
SK_EntPnt_UT int UT_ToLower (int ch);
/* Matematiske funksjonar */
SK_EntPnt_UT double UT_RoundDD (double d);
SK_EntPnt_UT double UT_RoundHalfUpDD (double d);
SK_EntPnt_UT int UT_RoundDI (double d);
SK_EntPnt_UT unsigned int UT_RoundDUI (double d);
SK_EntPnt_UT long UT_RoundDL (double d);
SK_EntPnt_UT long long UT_RoundDLL (double d);
SK_EntPnt_UT short UT_RoundDS (double d);
/* Kalender/klokke-rutiner */
SK_EntPnt_UT void UT_InqDate (short *date);
SK_EntPnt_UT char *UT_InqDateString(void);
SK_EntPnt_UT char *UT_InqDatetimeString(void);
SK_EntPnt_UT void UT_InqTime (short *time);
/* Hgniv */
SK_EntPnt_UT FILE *UT_OpenFile (const char *filnavn,const char *ftyp,
short facc,short exist,short *ierr);
SK_EntPnt_UT short UT_ReadLine (FILE *pfil,short llin, char clin[]);
SK_EntPnt_UT short UT_ReadLineCrlf (FILE *pfil,short llin, char clin[]);
SK_EntPnt_UT short UT_ReadLineNoComm(FILE *pfil,short llin, char *clin);
SK_EntPnt_UT short UT_WriteLine (FILE *pfil,char clin[]);
SK_EntPnt_UT short UT_WriteLineCrlf(FILE *pfil,char clin[]);
SK_EntPnt_UT short UT_SetPos (FILE *fi,long lpos);
SK_EntPnt_UT short UT_SetPos_i64 (FILE *fi,UT_INT64 n64FilPos);
SK_EntPnt_UT short UT_GetPos (FILE *fi,long *lpos);
SK_EntPnt_UT short UT_GetPos_i64(FILE *fi,UT_INT64 *n64FilPos);
SK_EntPnt_UT short UT_Save (FILE *pfil);
/* Div. rutiner */
SK_EntPnt_UT void UT_Bell (void);
SK_EntPnt_UT void UT_Sound (short freq, short dur);
SK_EntPnt_UT void UT_Pause (short dur);
SK_EntPnt_UT unsigned long UT_InqFreemem (void);
SK_EntPnt_UT char *UT_GetEnv (char *var, short mstr, char *str);
SK_EntPnt_UT char *UT_MakeFysak ( char *str, short mstr, char *filename );
SK_EntPnt_UT char *UT_MakeFysakPath ( char *str, short mstr, char *path, char *filename );
SK_EntPnt_UT void UT_SortD(double *db_arr, short size);
SK_EntPnt_UT unsigned long *UT_InitFlag(short sNlin);
SK_EntPnt_UT void UT_CloseFlag(unsigned long *plFlag);
SK_EntPnt_UT bool UT_SetFlag(unsigned long *plFlag,short sLine);
SK_EntPnt_UT short UT_GetFlag(unsigned long *plFlag,short sLine);
SK_EntPnt_UT short UT_StartProsess(char *pszCommandLine,short sVent);
SK_EntPnt_UT short UT_PutAnfTegn(char *pszTx, char cTegn, short sMaksLen);
/* --- Makroer -- */
#define UT_MALLOC malloc
#define UT_FREE free
#define UT_VENT 1
#define UT_FORTSETT 2
/*
CH FYBA FYsak-Basesystem
CD ==================================================================
CD Rutiner for lese, endre og skrive SOSI-filer.
CD ==================================================================
CD
CH INSTALLERINGS- OG BRUKS-OPPLYSNINGER:
CD
CD Bibliotek..: fybale.lib
CD Kildefiler.: fyba.c, fylo.c, fyln.c, fylr.c, fyls.c, fylx.c, fyli.c
CD fylh.c, fyho.c, fyle.c, fyba.h, fybax.h
CD Versjon....: D01
CD Eier.......: STATENS KARTVERK / FYSAK-prosjektet
CD Ansvarlig..: Andreas Rstad, Georg Langerak
CD
CD Kompilator.: Microsoft C versjon 6.0
CD Optioner...: /c /AL /J /FPi /G2t /W4
CD Memory-mod.: Large
CD Floating-p.: Emulation
CD Processor..: 80286
CD
CD #include...: fyba.h
CD Linkes med.: utle.lib >= versjon D
CD +llibce.lib >= versjon 6.0
CD
CD ==================================================================
*/
#include "stdafx.h"
/*
CH LC_InqVer Identifikasjon
CD =============================================================================
CD Forml:
CD Henter versjons-identifikasjon for dette biblioteket.
=============================================================================
*/
SK_EntPnt_FYBA char *LC_InqVer(void)
{
return FYBA_IDENT;
}