/*====================================================================*/ /* This software is delivered "as-is", with no warranties */ /* expressed or implied. This software is not supported by IBM. */ /*====================================================================*/ /* (C) COPYRIGHT International Business Machines Corp. 2001 */ /* All Rights Reserved */ /* */ /* US Government Users Restricted Rights - Use, duplication or */ /* disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /*====================================================================*/ #include #include #include #include #include #include #include #include #include #include #include #include #define INFO 7 #define MAXBUF 4096 /* Maximum number of buffers allowed */ #define PAGESIZE 4096 /* Number of bytes in a page of virtual memory */ long *shr_memp[MAXBUF]; /* array of pointers to shared memory buffers */ int shmid[MAXBUF]; /* Array of shared memory ids */ int shmget_key[MAXBUF]; /* Array of shared memory keys */ struct rule_format { long seg_size; /* segment size in bytes */ int num_seg; /* number of segments (default 1 segment) */ int width; /* 1, 4, or 8 bytes at a time */ } r; int pattern_des; int mode_flg; int result; long mem_size; char pattern_nm[50]; extern char *sys_errlist[]; extern int_sysnerr; void getshrseg(long *reqsize,long *aa,long *lpage) { /* r.seg_size = 128*1024*1024; */ r.seg_size = *reqsize; r.num_seg=1; r.width = 8; allocate_buffers(lpage); *aa = (long) shr_memp[0]; } /************************************************************************ * allocate buffers * ************************************************************************/ allocate_buffers(long *lpage) { int i,key,memflg; key=40000; for (i=0; i