/*
 * Copyright (c) 2003 Linuxant inc.
 * Copyright (c) 2001-2003 Conexant Systems, Inc.
 *
 * NOTE: The use and distribution of this software is governed by the terms in
 * the file LICENSE, which is included in the package. You must read this and
 * agree to these terms before using or distributing this software.
 *
 */

/*
 * osmissing.h - header file for missing functions.
 */
#ifndef _OSMISSING_H_
#define _OSMISSING_H_

#if ( OCT_SW_MODEM == 0 ) || ( (UK_MODE == UK_KERNEL) && defined(BATCH_INCLUDE) )
#include <sys/cdefs.h>
#endif

#ifdef __cplusplus
extern "C" {
#endif

#if ( OCT_SW_MODEM == 0 )

/* The following are taken from octopus/osspecific/ostime.h, and are here if
   we are only not using octopus... */
	int OSFloatPrefix( void );
	BOOL OSFloatSuffix( int Id );
	BOOL IsTSOn( void );
	void ClearTS( void );

	/* Copy N bytes of SRC to DEST.  */
	__ptr_t memcpy __P ((__ptr_t __restrict __dest,
						 __const __ptr_t __restrict __src, size_t __n));

	/* Copy N bytes of SRC to DEST, guaranteeing
	   correct behavior for overlapping strings.  */
	__ptr_t memmove __P ((__ptr_t __dest, __const __ptr_t __src,
						  size_t __n));

	/* Set N bytes of S to C.  */
	__ptr_t memset __P ((__ptr_t __s, int __c, size_t __n));

	/* Copy SRC to DEST.  */
	char *strcpy __P ((char *__restrict __dest,
					   __const char *__restrict __src));

	/* Copy no more than N characters of SRC to DEST.  */
	char *strncpy __P ((char *__restrict __dest,
						__const char *__restrict __src, size_t __n));

	/* Append SRC onto DEST.  */
	char *strcat __P ((char *__restrict __dest,
					   __const char *__restrict __src));

	/* Append no more than N characters from SRC onto DEST.  */
	char *strncat __P ((char *__restrict __dest,
						__const char *__restrict __src, size_t __n));

	/* Compare N characters of S1 and S2.  */
	int strncmp __P ((__const char *__s1, __const char *__s2, size_t __n));

#endif /* ( OCT_SW_MODEM == 0 ) */

#ifdef __cplusplus
}
#endif



/* Just for the v34batch in shell mode (not kernel): */
#if ( (UK_MODE == UK_KERNEL) && defined(BATCH_INCLUDE) )

#include <stdio.h>

extern FILE *stdin;

int _IO_getc( FILE *__file );

/* Open a file and create a new stream for it.  */
FILE *fopen __P ((__const char *__restrict __filename,
				  __const char *__restrict __modes));

/* Close STREAM.  */
int fclose __P ((FILE *__stream));

/* Read chunks of generic data from STREAM.  */
size_t fread __P ((void *__restrict __ptr, size_t __size,
				   size_t __n, FILE *__restrict __stream));

/* Write chunks of generic data to STREAM.  */
size_t fwrite __P ((__const void *__restrict __ptr, size_t __size,
					size_t __n, FILE *__restrict __s));

#endif /* ( (UK_MODE == UK_KERNEL) && defined(BATCH_INCLUDE) ) */


#endif


