#ifndef _INC_RLOEW #define _INC_RLOEW #include #include typedef int PRC(char *base,char *name,struct _finddata_t *ex,int arg,int dir,int pass); typedef int PRCL(char *base,char *name,struct _finddata_t *ex,int arg,int dir,int pass,int *matchlist); typedef int PRCS(char *name,int val,int param); typedef int FCALL(int *arg); typedef int PRC64(char *base,char *name,struct _finddatai64_t *ex,int arg,int dir,int pass); typedef int PRCL64(char *base,char *name,struct _finddatai64_t *ex,int arg,int dir,int pass,int *matchlist); typedef int PRCS64(char *name,unsigned _int64 val,int param); int tree(PRC *proc,char *fn,int flags,long date,int arg); int wtree(PRC *proc,char *wc,int flags,long date,int arg); int xtree(char *wc,int flags,int proc); // proc(char *name); int wtreelst(PRCL *proc,char *wc,int flags,long date,int arg,int *matchlist); int xtreelst(char *wc,int flags,int proc,int *matchlist); // proc(char *name,int *matchlist); int filesort(PRCS *proc,char *fn,int flags,long date,int arg); int tree64(PRC64 *proc,char *fn,int flags,long date,int arg); int wtree64(PRC64 *proc,char *wc,int flags,long date,int arg); int wtreelst64(PRCL64 *proc,char *wc,int flags,long date,int arg,int *matchlist); int filesort64(PRCS64 *proc,char *fn,int flags,long date,int arg); int fileprop(char *name,struct _finddata_t *prop); int fileprop64(char *name,struct _finddatai64_t *prop); int filedate(char *name); int findmtch(char *wc,int flags,time_t date,char *res); int wildcard(char *tmpl,char *name,int nocase); int wildcdex(char *fmt,char *name,int nocase); char *wildbase(char *temp,char **rem); char *wildfmt(char *temp,int nocase); int wildcardl(char *tmpl,char *name,int nocase,int *matchlist); int wildcdexl(char *fmt,char *name,int nocase,int *matchlist); int wildexp(char *fn,char *temp,char *name,int *list,int cnt); int wildcnt(char *s); int wildchk(char *s,int n); int makestr(char *s,int n); int regtree(char *wc,int sub,int proc,int proc2); // proc(HKEY key,char *name,int proc2); int regvalue(HKEY key,char *name,int proc); // proc(HKEY key,char *kname.char *vname,BYTE type,BYTE len,BYTE *data); int parsearg(char **v,char *str,int len,int del); int getline(int f,char *b,int len); int getnum(char *str); _int64 getnum64(char *str); int getdate(char *name,int *date); char *fmtdate(int date); int setfdate(char *name,int date); char *fullname(char *name); char *cat(char *s,...); char *catpath(char *s1,char *s2); void mkdir(char *dir); int createsn(char *d,char *sn,int dir); int createsp(char *d,char *sp,int dir); int compmem(char *b1,char *b2,int len); void printerr(int e); int copyblk(int f1,int f2,int len,char *buff,int blen); int hexdump(int addr,BYTE *data,int len); int phexdump(int addr,BYTE *data,int len); int fhexdump(int fh,int addr,BYTE *data,int len); int privinit(); int cpl(int l); int intr(int i); int int2173w(int cmd,int drive,DWORD start,DWORD count,BYTE *buff); int lockdrv(int drive,int mode); int openaspi(); int typeaspi(int unit); int aspidisk(int unit); int findaspi(int start,int type); int doaspi(int unit,BYTE *cmd,int cmdlen,int dir,BYTE *data,int dlen,BYTE *sense); int aspicmd(int unit,int code,DWORD off,int len,int dir,BYTE *data,int dlen,BYTE *sense); int readaspi(int unit,DWORD off,int len,BYTE *data,int dlen,BYTE *sense); int writeaspi(int unit,DWORD off,int len,BYTE *data,int dlen,BYTE *sense); int aspicmdex(int unit,int code,_int64 off,int len,int dir,BYTE *data,int dlen,BYTE *sense); int readaspiex(int unit,_int64 off,int len,BYTE *data,int dlen,BYTE *sense); int writeaspiex(int unit,_int64 off,int len,BYTE *data,int dlen,BYTE *sense); void aspierr(char *str,BYTE *sense); void closeaspi(); int atapicmd(int dev,BYTE *cmd,int cmdlen,int dir,BYTE *data,int dlen); int atapistat(int dev,BYTE *data); int atapiid(int dev,WORD *data); int atapitype(int dev); int tcpinit(); SOCKET tcp(char *url,int port); SOCKET tcpin(char *url,int port); int udpinit(); SOCKET udp(char *url,int port); SOCKET sendhttp(char *url,char **cookie,char **argname,char **argval); int recvhttp(SOCKET s,int fh,int hdr,int prog); int chkhttp(SOCKET s,int fh); int getweb(int flg,char *url,char *fn,char **cookie,char **argname,char **argval); int timedioinit(int *info,FCALL *io); void timediowait(int *info,int timeout); void timediokill(int *info); int dasm(BYTE *s,DWORD pc,int m,char *out,int pm,...); int instlen(BYTE *s,int m); int callsub(int a,...); int jumpthru(int a); int callthru(int a,int s[5]); HANDLE run(int proc,int *ret,...); int query(char *text,char *init,int minlen,char *buff,int bufflen); char *dmake32(int f1,int f2,int f3,int m,char *b1); int getseg(int seg); int ring0(void *proc,void *arg); int ring0(); void ring3(); int ring0tc(); void ring3tc(); int int20(int,...); int int20f(int,...); int modaddr(char *,int,int *); int physmem(unsigned int a1,unsigned int a2,unsigned char *b,unsigned int len,int mode); // Mode 0=Read 1=Write int factor(unsigned int x,unsigned int *l,unsigned int n); int getvol(int i,char *n); int findvol(char *v,int s); int openex(char *base,int blocklen,int filecnt,unsigned int filesize); int readex(int fhex,unsigned int block,int blocks,char *buff); int writeex(int fhex,unsigned int block,int blocks,char *buff); int creat64(char *n); int delete64(char *n); int close64(int x); int open64(char *n,int f); int read64(int i,void *b,int l); int write64(int i,void *b,int l); _int64 lseek64(int i,_int64 p,int m); int trunc64(int i,_int64 p); _int64 seek64(int f,_int64 p,int m); unsigned int llseekex(int fn,int off,int m); int win32svc(int *,int,...); int peldr(char *,char *); int stubchk(int); int k32ords(int); int calllib(char *lib,char *ent,...); void freelibs(); int21(int eax,int ebx,int ecx,int edx,int esi,int edi,int *result); snopen(char *name,int tail); void aesencr(void *src,void *dest,void *key,int kdws); void aesdecr(void *src,void *dest,void *key,int kdws); void aeskeyexp(void *key,void *buff,int kdws); void aesinit(); // If Compiled with INITAES Defined int aesencrstrm(char *s,char *d,int l,void *key,int keylen); int aesdecrstrm(char *s,char *d,char *part,int l,void *key,int keylen); unsigned short crc(unsigned char *data,unsigned short val,int len); int systime(int); struct SSLentry { char *str; DWORD length; struct SSLentry *(node[17]); }; struct SSLlist { int depth; DWORD random; struct SSLentry *(node[17]); }; struct SSLlist *initSSL(); void freeSSL(struct SSLlist *l); struct SSLentry *insertSSLentry(struct SSLlist *l,char *str); char *getSSLentry(struct SSLlist *l,char *str,char *laststr); struct SSLentry *getSSLprev(struct SSLlist *l,char *str,char *laststr); removeSSLSntry(struct SSLlist *l,char *str); #endif