1 /*
2  * spi-private.h
3  */
4 
5 #ifndef __SPI_PRIVATE_H__
6 #define __SPI_PRIVATE_H__
7 
8 #include <sys/time.h>
9 #include "windef.h"
10 
11 typedef struct _picture_info {
12   long left, top;   /* ������Ÿ��������� */
13   long width;       /* ��������(pixel) */
14   long height;      /* �����ι⤵(pixel) */
15   WORD x_density;   /* ���Ǥο�ʿ����̩�� */
16   WORD y_density;   /* ���Ǥο�ľ����̩�� */
17   short colorDepth; /* �������������bit�� */
18   HLOCAL hInfo;     /* ������Υƥ����Ⱦ��� */
19 } PictureInfo;
20 
21 #define SPI_SUCCESS            0 /* ���ェλ */
22 #define SPI_UNIMPLEMENTED     -1 /* ���ε�ǽ�ϥ���ץ���Ȥ���Ƥ��ʤ� */
23 #define SPI_CB_RETURNS_NONZERO 1 /* ������Хå��ؿ�����0���֤����Τ�Ÿ������ߤ��� */
24 #define SPI_UNKNOWN_FORMAT     2 /* ̤�ΤΥե����ޥå� */
25 #define SPI_BROKEN_DATA        3 /* �ǡ���������Ƥ��� */
26 #define SPI_NOENOUGH_MEMORY    4 /* ���꡼�����ݽ���ʤ� */
27 #define SPI_MEMORY_ERROR       5 /* ���꡼���顼��Lock����ʤ������� */
28 #define SPI_FILE_READ_ERROR    6 /* �ե�����꡼�ɥ��顼 */
29 #define SPI_RESERVED           7 /* ��ͽ��� */
30 #define SPI_INTERNAL_ERROR     8 /* �������顼 */
31 
32 extern const char *spi_errormsg[];
33 extern int         spi_errormsg_num;
34 
35 typedef int PASCAL (*ProgressCallback)(int, int, long);
36 
37 typedef int PASCAL (*IsSupportedFunc)(LPSTR, DWORD);
38 typedef int PASCAL (*GetPluginInfoFunc)(int, LPSTR, int);
39 typedef int PASCAL (*GetPictureInfoFunc)(LPSTR, long, unsigned int, PictureInfo *);
40 typedef int PASCAL (*GetPictureFunc)(LPSTR, long, unsigned int, HANDLE *, HANDLE *, ProgressCallback, long);
41 
42 typedef struct _file_info {
43   unsigned char method[8]; /* ����ˡ�μ��� */
44   unsigned long position;  /* �ե������Ǥΰ��� */
45   unsigned long compsize;  /* ���̤��줿������ */
46   unsigned long filesize;  /* ���Υե����륵���� */
47   time_t timestamp;        /* �ե�����ι������� */
48   char path[200];          /* ���Хѥ� */
49   char filename[200];      /* �ե�����͡��� */
50   unsigned long crc;       /* CRC */
51 } fileInfo;
52 
53 typedef struct _BITMAPINFOHEADER {
54   unsigned long       biSize;         /*  0: ��¤�ΤΥ�����(�Х���) */
55   long                biWidth;        /*  4: ���᡼������ */
56   long                biHeight;       /*  8: ���᡼���ι⤵ */
57   unsigned short      biPlanes;       /* 12: must be 1 */
58   unsigned short      biBitCount;     /* 14: 1pixel�������bit�� */
59   unsigned long       biCompression;  /* 16: ���̥����� */
60   unsigned long       biSizeImage;    /* 20: ���᡼���Υ����� */
61   long                biXPixPerMeter; /* 24: ��ʿ������ */
62   long                biYPixPerMeter; /* 28: ��ľ������ */
63   unsigned long       biClrUsed;      /* 32: ���顼�ơ��֥�ط� */
64   unsigned long       biClrImportant; /* 36: ���顼�ơ��֥�ط� */
65 } BITMAPINFOHEADER;
66 
67 /* typedef int PASCAL (*IsSupportedFunc)(LPSTR, DWORD); */
68 /* typedef int PASCAL (*GetPluginInfoFunc)(int, LPSTR, int); */
69 typedef int PASCAL (*GetArchiveInfoFunc)(LPSTR, long, unsigned int, HLOCAL *);
70 typedef int PASCAL (*GetFileInfoFunc)(LPSTR, long, LPSTR, unsigned int, fileInfo *);
71 typedef int PASCAL (*GetFileFunc)(LPSTR, long, LPSTR, unsigned int, ProgressCallback, long);
72 
73 #endif /* __SPI_PRIVATE_H__ */
74