Commit a1314c13 authored by kollo's avatar kollo

version 1.17

parent 237dddb2
This diff is collapsed.
../doc/ACKNOWLEGEMENTS
\ No newline at end of file
This diff is collapsed.
......@@ -10,13 +10,13 @@
VERSION 1.16
VERSION 1.17
(C) 1997-2011 by Markus Hoffmann
(kollo@users.sourceforge.net)
Name : X11Basic
Version : 1.16 Vendor: Markus Hoffmann
Version : 1.17 Vendor: Markus Hoffmann
Group : Development/Languages License: GPL
Packager : Markus Hoffmann <kollo@users.sourceforge.net>
URL : http://x11-basic.sourceforge.net/
......
Release notes for Version 1.15 (Feb 2008)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- New command: PIPE
- New commands: GET_SCREENSIZE, GET_GEOMETRY
- Implemented BMP file format (for PUT)
- produced a framebuffer-graphics version of X11-basic
Release notes for Version 1.16 (Dez 2010)
Release notes for Version 1.16 (Feb 2010)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Bugfix in SORT (Feb 2010)
- new function word$() June 2010
......@@ -23,4 +16,14 @@ Release notes for Version 1.16 (Dez 2010)
- added support for bitmaps with transparency/alpha channel
- fixed bug in DEFFILL
- fixed bug in objc_draw()
- Adapted windows version to use the SDL library
Release notes for Version 1.17 (May 2011)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Adapted windows version to use the SDL library (2011-04)
- added PLAYSOUND command (works only in SDL and WINDOWS version) 2011-05
- modifyed syntax of SOUND command 2011-05
- added ALSA sound support for SOUND command. 2011-05
- made syntax a bit more tolerant against extra blanks
- bugfix with BOX (confusion with curses library, segfault)
- worked on the xb2c compiler/translator 2011-08
......@@ -14,14 +14,15 @@
#include <string.h>
#include "defs.h"
#include "graphics.h"
#include "window.h"
#include "aes.h"
#include "file.h"
#include "window.h"
#ifndef NOGRAPHICS
RSHDR *rsrc=NULL; /* Adresse der Recource im Speicher */
int chw=4,chh=8,baseline=7,depth=8;
unsigned int chw=4,chh=8,baseline=7,depth=8;
int gem_colors[16];
const AESRGBCOLOR gem_colordefs[]={
{65535,65535,65535}, /* WHITE */
......@@ -52,7 +53,7 @@ void gem_init() {
#ifdef USE_X11
Window root;
#endif
int border;
unsigned int border;
/* Screendimensionen bestimmem */
#ifdef FRAMEBUFFER
FB_get_geometry(&sbox.x,&sbox.y,&sbox.w,&sbox.h,&border,&depth);
......@@ -92,7 +93,7 @@ void gem_init() {
#ifdef USE_SDL
#include "spat-a-fnt.c"
#include "5x7.c"
#include "5x7-rev.c"
#endif
void load_GEMFONT(int n) {
#ifdef WINDOWS_NATIVE
......@@ -135,7 +136,7 @@ void load_GEMFONT(int n) {
chw=5;
chh=7;
baseline=chh-0;
gfxPrimitivesSetFont(asciiTable,7,5);
gfxPrimitivesSetFont(asciiTable,chw,chh);
}
#endif
}
......@@ -184,13 +185,17 @@ int form_alert2(int dbut,char *n, char *tval) {
char **ein=bzeilen;
int i=0,j=strlen(n),k=0,l=0;
TEDINFO tedinfo[32];
char tmplt[32*80];
char valid[32*80];
int tmpltptr=0,validptr=0;
OBJECT objects[64]={{-1,1,1,G_BOX, 0, OUTLINED, 0x00021100, 0,0,100,100}};
int objccount=1;
int x,y,w,h;
#ifdef DEBUG
printf("**form_alert:\n");
#endif
memset(tmplt,'_',32*80);
memset(valid,'X',32*80);
while(i<j) {
if(n[i]=='[') {
pos=&n[i+1];
......@@ -274,10 +279,13 @@ int form_alert2(int dbut,char *n, char *tval) {
for(j=0;j<strlen((char *)objects[objccount-1].ob_spec);j++) {
if(((char *)(objects[objccount-1].ob_spec))[j]==27) {
((char *)(objects[objccount-1].ob_spec))[j]=0;
// printf("Textfeld gefunden. OB=%d vorne=<%s>\n",objccount,objects[objccount-1].ob_spec);
objects[objccount].ob_x=textx+chh+chw*j+chw;
objects[objccount].ob_y=(1+i)*chh;
objects[objccount-1].ob_width=chw*(strlen((char *)objects[objccount-1].ob_spec));
objects[objccount].ob_width=chw*(strlen(bzeilen[i]+j+1));
// printf("default=<%s>\n",bzeilen[i]+j+1);
objects[objccount].ob_height=chh;
objects[objccount].ob_spec=(LONG)&tedinfo[anztedinfo];
objects[objccount].ob_head=-1;
......@@ -288,11 +296,15 @@ int form_alert2(int dbut,char *n, char *tval) {
objects[objccount].ob_state=NORMAL;
tedinfo[anztedinfo].te_ptext=(LONG)(bzeilen[i]+j+1);
buffer[anzbuffer]=malloc(strlen((char *)tedinfo[anztedinfo].te_ptext)+1);
tedinfo[anztedinfo].te_ptmplt=(LONG)(buffer[anzbuffer++]);
tedinfo[anztedinfo].te_pvalid=(LONG)(bzeilen[i]+j+1);
tedinfo[anztedinfo].te_ptmplt=(LONG)&tmplt[tmpltptr];
tmpltptr+=strlen(bzeilen[i]+j+1)+1;
tmplt[tmpltptr-1]=0;
tedinfo[anztedinfo].te_pvalid=(LONG)&valid[validptr];
validptr+=strlen(bzeilen[i]+j+1)+1;
valid[validptr-1]=0;
tedinfo[anztedinfo].te_font=FONT_IBM;
tedinfo[anztedinfo].te_just=TE_LEFT;
tedinfo[anztedinfo].te_junk1=strlen((char *)tedinfo[anztedinfo].te_ptext);
tedinfo[anztedinfo].te_junk1=strlen(bzeilen[i]+j+1);
tedinfo[anztedinfo].te_junk2=0;
tedinfo[anztedinfo].te_color=0x1100;
tedinfo[anztedinfo].te_thickness=1;
......@@ -349,6 +361,7 @@ int form_alert2(int dbut,char *n, char *tval) {
tval[strlen(tval)]=13;
}
}
// printf("tval=<%s>\n",tval);
}
while(anzbuffer) {
free(buffer[--anzbuffer]);
......@@ -458,13 +471,13 @@ WORD invert_color(WORD color) {
}
}
int draw_object(OBJECT *tree,int idx,int rootx,int rooty) {
void draw_object(OBJECT *tree,int idx,int rootx,int rooty) {
signed char randdicke=0;
char zeichen,opaque=0;
int fillcolor=BLACK,pattern=8;
int bgcolor=WHITE;
int textcolor=BLACK,textmode,framecolor=BLACK;
int i,drawbg=1,drawtext=1;
int i,drawbg=1;
int obx=tree[idx].ob_x+rootx;
int oby=tree[idx].ob_y+rooty;
int obw=tree[idx].ob_width;
......@@ -596,7 +609,7 @@ if (drawbg) {
char *text;
char chr[2];
TEDINFO *ted;
int x,y,i,flen;
int x,y,flen;
case G_STRING:
case G_TITLE:
text=(char *)((int)tree[idx].ob_spec);
......@@ -746,6 +759,7 @@ int objc_draw( OBJECT *tree,int start, int stop,int rootx,int rooty) {
}
if(idx==stop) return(1);
}
return(0);
}
......@@ -943,6 +957,60 @@ void fix_iconblk() {
}
}
int rsrc_load(char *filename) {
FILE *dptr;
int i,len;
if(exist(filename)) {
dptr=fopen(filename,"r");
if(dptr==NULL) return(-1);
len=lof(dptr);
rsrc=malloc(len);
if(fread(rsrc,1,len,dptr)==len) {
WSWAP((char *)((int)rsrc));
if(rsrc->rsh_vrsn==0 || rsrc->rsh_vrsn==1) {
if(rsrc->rsh_vrsn==0) {
for(i=1;i<HDR_LENGTH/2;i++) {
WSWAP((char *)((int)rsrc+2*i));
}
}
#if DEBUG
printf("RSC loaded: name=<%s> len=%d Bytes\n",filename,len);
printf("Version: %04x xlen=%d\n",rsrc->rsh_vrsn,rsrc->rsh_rssize);
printf("%d Trees and %d FRSTRs \n",rsrc->rsh_ntree,rsrc->rsh_nstring);
printf("OBJC: %08x (%d)\n",rsrc->rsh_object,rsrc->rsh_nobs);
printf("TEDINFO: %08x (%d)\n",rsrc->rsh_tedinfo,rsrc->rsh_nted);
printf("ICONBLK: %08x (%d)\n",rsrc->rsh_iconblk,rsrc->rsh_nib);
printf("BITBLK: %08x (%d)\n",rsrc->rsh_bitblk,rsrc->rsh_nbb);
#endif
if(rsrc->rsh_rssize==len || 1) {
fix_trindex();
fix_frstrindex();
fix_objc();
fix_tedinfo();
fix_bitblk();
fix_iconblk();
fclose(dptr);
return(0);
} else printf("Invalid rsc-Filestructure\n");
} else printf("Unsupported rsc-Version %d\n",rsrc->rsh_vrsn);
}
fclose(dptr);
free(rsrc);
rsrc=NULL;
return(-1);
}
else return(-1);
}
void objc_add(OBJECT *tree,int p,int c) {
if(tree[p].ob_tail<0) {
......@@ -1008,7 +1076,6 @@ int objc_offset(OBJECT *tree,int object,int *x,int *y) {
/* objc_find */
int objc_find(OBJECT *tree,int x,int y) {
int i=0;
int sbut=-1;
int idx=0;
int stop=-1;
......@@ -1050,7 +1117,7 @@ int rootob(OBJECT *tree,int onr) {
if(tree[idx].ob_tail==sbut) return(idx);
}
}
int relobxy(OBJECT *tree,int ndx,int *x, int *y){
void relobxy(OBJECT *tree,int ndx,int *x, int *y){
*x=tree[ndx].ob_x;
*y=tree[ndx].ob_y;
while((ndx=rootob(tree,ndx))>=0){
......@@ -1121,4 +1188,10 @@ int form_center(OBJECT *tree, int *x, int *y, int *w, int *h) {
*h=tree->ob_height;
return(0);
}
#endif
......@@ -5,6 +5,8 @@
* X11BASIC is free software and comes with NO WARRANTY - read the file
* COPYING for details
*/
#ifndef __aes__
#define __aes__
#define GEMFONT "-*-fixed-*-r-normal-*-16-*-iso8859-*"
#define GEMFONTSMALL "-*-fixed-medium-r-normal-*-10-*-iso8859-*"
......@@ -51,6 +53,19 @@
#define SHADOWED 0x20
#define WHITEBAK 0x40
#define DRAW3D 0x80
#undef BLACK
#undef WHITE
#undef RED
#undef GREEN
#undef BLUE
#undef YELLOW
#undef MAGENTA
/* Object colors */
#define WHITE 0
#define BLACK 1
......@@ -122,8 +137,8 @@
typedef struct {
int x;
int y;
int w;
int h;
unsigned int w;
unsigned int h;
} ARECT;
......@@ -319,7 +334,7 @@ typedef struct { unsigned short r,g,b;} AESRGBCOLOR;
/* Prototypes */
extern RSHDR *rsrc;
extern int chw,chh,baseline,depth;
extern unsigned int chw,chh,baseline,depth;
extern int gem_colors[];
extern ARECT sbox;
......@@ -329,6 +344,8 @@ void gem_init();
void load_GEMFONT(int n);
void box_center(ARECT *b);
int form_alert(int dbut,char *n);
int form_alert2(int dbut,char *n, char *tval);
int form_center(OBJECT *tree, int *x, int *y, int *w, int *h);
int rsrc_gaddr(int re_gtype, unsigned int re_gindex, char **re_gaddr);
......@@ -340,6 +357,11 @@ int objc_draw( OBJECT *tree,int start, int stop,int rootx,int rooty);
int objc_offset(OBJECT *tree,int object,int *x,int *y);
int objc_find(OBJECT *tree,int x,int y);
int finded(OBJECT *tree,int start, int r);
void draw_edcursor(OBJECT *tree,int ndx);
int rootob(OBJECT *tree,int onr);
void WSWAP(char *adr);
void relobxy(OBJECT *tree,int ndx,int *x, int *y);
int rsrc_load(char *filename);
#endif
......@@ -14,10 +14,10 @@
#include "config.h"
#include "defs.h"
#include "globals.h"
#include "protos.h"
#include "vtypes.h"
#include "array.h"
#include "afunctions.h"
#include "xbasic.h"
ARRAY f_smula(PARAMETER *plist, int e) {
ARRAY ergeb;
......@@ -41,10 +41,8 @@ extern double *SVD(double *a, double *w, double *v,int anzzeilen, int anzspalten
extern double *backsub(double *, double *, double *, double *,int,int);
double *makeSVD(double *v1,double *m1,int anzzeilen, int anzspalten) {
int i,j;
int i,elim=0,fsing=0;
double maxsing=0;
int elim=0;
int fsing=0;
double *ergebnis;
double *u = malloc(sizeof(double)*anzzeilen*anzspalten);
......@@ -83,7 +81,7 @@ double *makeSVD(double *v1,double *m1,int anzzeilen, int anzspalten) {
return(ergebnis);
}
makeSVD2(double *v1,double *m1,int anzzeilen, int anzspalten, double *ergeb) {
void makeSVD2(double *v1,double *m1,int anzzeilen, int anzspalten, double *ergeb) {
double *x;
x=makeSVD(v1,m1,anzzeilen,anzspalten);
memcpy(ergeb,x,sizeof(double)*anzspalten);
......
......@@ -12,15 +12,19 @@
#include <math.h>
#include "defs.h"
#include "xbasic.h"
#include "globals.h"
#include "wort_sep.h"
#include "ptypes.h"
#include "vtypes.h"
#include "array.h"
#include "protos.h"
#include "parser.h"
#include "variablen.h"
/******************** Array variable by name routines **************************/
void array_zuweis_and_free(char *name, ARRAY inhalt) {
int typ,vnr;
char *r=varrumpf(name),*a=argument(name);
char *nam;
int ztyp=vartype(name);
vnr=variable_exist(r,inhalt.typ | ARRAYTYP);
......@@ -280,7 +284,8 @@ ARRAY double_array(ARRAY a) {
}
ARRAY einheitsmatrix(int typ, int dimension, int *dimlist) {
ARRAY ergebnis=nullmatrix(typ,dimension,dimlist);
int anz=anz_eintraege(ergebnis),i,a=0,j;
// int anz=anz_eintraege(ergebnis);
int i,a=0,j;
int q=dimlist[0];
for(j=0;j<dimension;j++) {if(q>dimlist[j]) q=dimlist[j];}
......@@ -396,7 +401,8 @@ ARRAY array_const(char *s) {
if(ergebnis.typ & INTTYP) ((int *)(ergebnis.pointer+ergebnis.dimension*INTSIZE))[j]=(int)parser(t2);
else if(ergebnis.typ & FLOATTYP) ((double *)(ergebnis.pointer+ergebnis.dimension*INTSIZE))[j]=parser(t2);
else {
STRING *varptr,sss;
STRING *varptr;
STRING sss;
varptr=(STRING *)(ergebnis.pointer+ergebnis.dimension*INTSIZE);
sss=string_parser(t2);
varptr[j].len=sss.len;
......@@ -754,10 +760,7 @@ int do_dimension(int vnr) { /* liefert Anzahl der Elemente in einem ARRAY */
} else return(1);
}
void *arrayvarptr(int vnr, char *n,int size) {
char s[strlen(n)+1],t[strlen(n)+1];
int ndim=0,a=0,i;
void *arrayvarptr(int vnr, char *n,int size) {
if(vnr!=-1) {
int dim=variablen[vnr].opcode;
int indexliste[dim];
......
......@@ -28,10 +28,13 @@
#include <fnmatch.h>
#endif
#include "aes.h"
#include "window.h"
#include "bitmap.h"
void memdump(unsigned char *adr,int l);
/*-------------------------------------------------------------------*/
/* Routine zum Abspeichern von X-Image */
/* Bitmaps. (c) Markus hoffmann */
......@@ -40,7 +43,7 @@
/* swap some long ints. (n is number of BYTES, not number of longs) */
swapdws (char *bp, unsigned n) {
static void swapdws (char *bp, unsigned n) {
register char c;
register char *ep = bp + n;
register char *sp;
......@@ -116,7 +119,7 @@ char *imagetoxwd(XImage *image,Visual *visual,XColor *pixc, int *len) {
int bmp2bitmap(char *data,char *fbp,int x, int bw,int bh,int depth, char *mask) {
unsigned short *ptr1 = (unsigned short*)fbp;
int r,g,b,a,i,j,w,h,offset,d,ib,ic=0;
int r=0,g=0,b=0,a,i,j,w,h,offset,d,ib=0,ic=0;
int usealpha=0;
unsigned int compression,ncol;
char *buf2,*buf3;
......@@ -128,7 +131,7 @@ int bmp2bitmap(char *data,char *fbp,int x, int bw,int bh,int depth, char *mask)
if(header->bfType!=BF_TYPE) {
printf("Put-Image: Error: wrong bitmap format!\n");
memdump(data,64);
memdump((unsigned char *)data,64);
return(-1);
}
/* diese komische Akrobatik muss wohl sein (jedenfalls fuer den ARM-linux compiler */
......@@ -144,7 +147,7 @@ int bmp2bitmap(char *data,char *fbp,int x, int bw,int bh,int depth, char *mask)
printf("biBitCount-data =%d %d \n",(int)(&(iheader->biBitCount))-(int)data,iheader->biBitCount);
printf("biCompression-data =%d %d \n",(int)(&(iheader->biCompression))-(int)data,iheader->biCompression);
printf("Put-Image: Compressed Bitmaps (%d) are not supported !\n",iheader->biCompression);
memdump(data,64);
memdump((unsigned char *)data,64);
return(-1);
}
#if DEBUG
......@@ -256,7 +259,6 @@ int bmp2bitmap(char *data,char *fbp,int x, int bw,int bh,int depth, char *mask)
}
void bitmap_scale(char *oadr,int depth,int ow,int oh,char *adr,int w,int h) {
int rl=depth/8;
char *ptr1,*ptr2;
int x,y;
int sx,sy;
if(depth==1) {
......@@ -320,10 +322,10 @@ XImage *xwdtoximage(char *data,Visual *visual, int depth, XImage **XMask, int tr
#endif
int dd,w,o,h,bpl,ncol;
BITMAPFILEHEADER *header=(BITMAPFILEHEADER *)data;
// BITMAPFILEHEADER *header=(BITMAPFILEHEADER *)data;
BITMAPINFOHEADER *iheader=(BITMAPINFOHEADER *)(data+BITMAPFILEHEADERLEN);
ncol=iheader->biClrUsed;
RGBQUAD *coltable=(RGBQUAD *)(data+BITMAPFILEHEADERLEN+BITMAPINFOHEADERLEN);
// RGBQUAD *coltable=(RGBQUAD *)(data+BITMAPFILEHEADERLEN+BITMAPINFOHEADERLEN);
w=iheader->biWidth;
h=iheader->biHeight;
dd=iheader->biBitCount;
......
This diff is collapsed.
This diff is collapsed.
......@@ -16,7 +16,7 @@
#include "options.h"
#include "vtypes.h"
#include "globals.h"
#include "protos.h"
/* Falls mit Kontrollsystem */
......
......@@ -116,6 +116,9 @@
/* Simple Direct Media GFX */
#undef HAVE_SDL_GFX
/* Advanced Sound System present */
#undef HAVE_ALSA
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
......
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.in by autoheader. */
/* CONFIG.H (c) Markus Hoffmann */
/* This file is part of X11BASIC, the basic interpreter for Unix/X
* ============================================================
* X11BASIC is free software and comes with NO WARRANTY - read the file
* COPYING for details
*/
/* If X11-Basic for some reason will not compile on your system
you may want do uncomment some of the defines */
/* Define to 1 if you have the `alarm' function. */
#define HAVE_ALARM 1
/* Define to 1 if you have the `atexit' function. */
#define HAVE_ATEXIT 1
/* Define to 1 if you have the `inotify_init' function. */
/* #define HAVE_INOTIFY_INIT 1 */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* dlopen in dllib */
#define HAVE_DLOPEN 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* expm1 in Mathlib */
#define HAVE_EXPM1 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* floor in Mathlib */
#define HAVE_FLOOR 1
/* Define to 1 if your system has a working POSIX `fnmatch' function. */
#define HAVE_FNMATCH 1
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if you have the `getcwd' function. */
#define HAVE_GETCWD 1
/* Define to 1 if you have the `gethostbyname' function. */
#define HAVE_GETHOSTBYNAME 1
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define to 1 if you have the `inet_ntoa' function. */
#define HAVE_INET_NTOA 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* dllib */
#define HAVE_LIBDL 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* log1p in Mathlib */
#define HAVE_LOG1P 1
/* logb in Mathlib */
#define HAVE_LOGB 1
/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
to 0 otherwise. */
#define HAVE_MALLOC 1
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `nanosleep' function. */
#define HAVE_NANOSLEEP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1
/* Define to 1 if you have the <netinet/in.h> header file. */
#define HAVE_NETINET_IN_H 1
/* pow in Mathlib */
#define HAVE_POW 1
/* readline in readline */
#define HAVE_READLINE 1
/* _SystemCycle in dynamical TINE lib */
#define HAVE_TINE 1
/* eq_int in dynamical DOOCS lib */
#define HAVE_DOOCS 1
/* Simple Direct Media present */
// #define HAVE_SDL 1
/* Simple Direct Media GFX */
// #define HAVE_SDL_GFX 1
/* Advanced Sound System present */
/* #define HAVE_ALSA 1 */
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `socket' function. */
#define HAVE_SOCKET 1
/* sqrt in Mathlib */
#define HAVE_SQRT 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the <stddef.h> header file. */
#define HAVE_STDDEF_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strstr' function. */
#define HAVE_STRSTR 1
/* Define to 1 if you have the `memfrob' function. */
#define HAVE_MEMFROB 1
/* Define to 1 if `st_blocks' is member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLOCKS 1
/* Define to 1 if your `struct stat' has `st_blocks'. Deprecated, use
`HAVE_STRUCT_STAT_ST_BLOCKS' instead. */
#define HAVE_ST_BLOCKS 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/file.h> header file. */
#define HAVE_SYS_FILE_H 1
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/kd.h> header file. */
#define HAVE_SYS_KD_H 1
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/timeb.h> header file. */
#define HAVE_SYS_TIMEB_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <termios.h> header file. */
#define HAVE_TERMIOS_H 1
/* Define to 1 if you have the <unistd.h> header file. */