!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/include/libwmf/   drwxr-xr-x
Free 13.05 GB of 57.97 GB (22.52%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     types.h (10.24 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* libwmf (<libwmf/types.h>): library for wmf conversion
   Copyright (C) 2000 - various; see CREDITS, ChangeLog, and sources

   The libwmf Library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public License as
   published by the Free Software Foundation; either version 2 of the
   License, or (at your option) any later version.

   The libwmf Library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public
   License along with the libwmf Library; see the file COPYING.  If not,
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
   Boston, MA 02111-1307, USA.  */


#ifndef LIBWMF_TYPES_H
#define LIBWMF_TYPES_H

#include <stdio.h>
#include <sys/types.h>

#include <ft2build.h>
#include FT_FREETYPE_H

#include <libwmf/fund.h>

#ifdef __cplusplus
extern "C" {
#endif

/* API Enumeration defs
 */

/**
 * \b wmf_bool_t is the (enumeration) type used for boolean
 */
typedef enum _wmf_bool_t
{    wmf_false = 0,    /**< False */
    wmf_true    /**< True */
} wmf_bool_t;

/**
 * \b wmf_error_t is the (enumeration) type used for the library error state.
 */
typedef enum _wmf_error_t
{    wmf_E_None = 0,        /**< No error. */
    wmf_E_InsMem,        /**< An attempt to allocate memory has failed. */
    wmf_E_BadFile,        /**< Attempt to open an unreadable file, or to read from an unopened file. */
    wmf_E_BadFormat,    /**< The metafile, if indeed it is a metafile, has been corrupted. */
    wmf_E_EOF,        /**< An unexpected end-of-file has been reached. */
    wmf_E_DeviceError,    /**< Device-layer error. */
    wmf_E_Glitch,        /**< Programmer's error. Sorry. */
    wmf_E_Assert,        /**< Internally forced error. */
    wmf_E_UserExit        /**< The status function has returned non-zero; exit is premature. */
} wmf_error_t;

/**
 * \b wmf_page_t is the (enumeration) type used to indicate page size.
 */
typedef enum _wmf_page_t
{    wmf_P_A5,    /**< A5 (420 x 595) */
    wmf_P_A4,    /**< A4 (595 x 842) */
    wmf_P_A3,    /**< A3 (842 x 1191) */
    wmf_P_A2,    /**< A2 (1191 x 1684) */
    wmf_P_A1,    /**< A1 (1684 x 2384) */
    wmf_P_A0,    /**< A0 (2384 x 3370) */
    wmf_P_B5,    /**< B5 (516 x 729) */
    wmf_P_Letter,    /**< Letter (612 x 792) */
    wmf_P_Legal,    /**< Legal (612 x 1008) */
    wmf_P_Ledger,    /**< Ledger (1224 x 792) */
    wmf_P_Tabloid    /**< Tabloid (792 x 1224) */
} wmf_page_t;

/**
 * \b wmf_image_t is the (enumeration) type used to indicate image type.
 */
typedef enum _wmf_image_t
{    wmf_I_gd
} wmf_image_t;

/**
 * User redefinable function for input-stream access:
 * 
 * wmfRead: returns unsigned char cast to int, or EOF
 * 
 * See \b wmf_bbuf_input().
 */
typedef int  (*wmfRead) (void*);

/**
 * User redefinable function for input-stream access:
 * 
 * wmfSeek: returns (-1) on error, else 0
 * 
 * See \b wmf_bbuf_input().
 */
typedef int  (*wmfSeek) (void*,long);

/**
 * User redefinable function for input-stream access:
 * 
 * wmfTell: returns (-1) on error, else pos
 * 
 * See \b wmf_bbuf_input().
 */
typedef long (*wmfTell) (void*);

/**
 * User redefinable function for character-based output-stream:
 * 
 * wmfSPutS: returns EOF on error, else 0
 * 
 * See \b wmfStream.
 */
typedef int (*wmfSPutS) (char*,void*);

/**
 * User redefinable function for character-based output-stream:
 * 
 * wmfReset: resets stream to start; returns non-zero on failure
 * 
 * See \b wmfStream.
 */
typedef int (*wmfReset) (void*);

/**
 * User definable function indicating progress.
 * 
 * @param context  handle for user data
 * @param fraction fraction of metafile parsed so far
 * 
 * @return Should return non-zero only if premature exit is required for whatever reason.
 * 
 * See \b wmf_status_function().
 */
typedef int (*wmfStatus) (void* context,float fraction);

/* API types
 */

typedef struct _wmfD_Coord             wmfD_Coord;
typedef struct _wmfD_Rect              wmfD_Rect;

typedef struct _wmfMapping             wmfMapping;
typedef struct _wmfFontMap             wmfFontMap;

typedef struct _wmfHead                wmfHead; /* Bit nonsensical having these three at all ?? */
typedef struct _wmfMetaHeader          wmfMetaHeader,*wmfFile;
typedef struct _wmfPlaceableMetaHeader wmfPlaceableMetaHeader;

typedef struct _wmfAPI_Options         wmfAPI_Options;
typedef struct _wmfAPI                 wmfAPI;

typedef struct _wmfStream              wmfStream;

typedef struct _wmfImage               wmfImage;

typedef struct _wmfAttributes          wmfAttributes;
typedef struct _wmfAttributeStore      wmfAttributeStore;

/* API Structure defs
 */

/**
 * Device coordinate.
 */
struct _wmfD_Coord
{    float x;
    float y;
};

/**
 * Device rectangle.
 */
struct _wmfD_Rect
{    /**
     * Device coordinate of top left corner (TL.x < BR.x, TL.y < BR.y).
     */
    wmfD_Coord TL;

    /**
     * Device coordinate of bottom right corner.
     */
    wmfD_Coord BR;
};

struct _wmfMapping
{    char* name;
    char* mapping;

    /* I had been hoping to keep FT out of this file, but
     * it seems easier just to use the FT encoding defs
     * rather than create some kind of wrapper...
     */
    FT_Encoding encoding;
};

struct _wmfFontMap
{    char* name;       /* wmf font name */

    char* normal;     /* postscript font names */
    char* italic;
    char* bold;
    char* bolditalic;
};

/**
 * Structure containing list of XML attributes
 */
struct _wmfAttributes
{    char * name;

    char ** atts;

    unsigned long count;
    unsigned long max;

    unsigned char * buffer;

    unsigned long length;
    unsigned long offset;
};

/**
 * Structure containing list of lists of XML attributes
 */
struct _wmfAttributeStore
{    wmfAttributes * attrlist;

    unsigned long count;
    unsigned long max;
};

/**
 * @internal
 */
struct _wmfPlaceableMetaHeader
{    U32 Key;      /* Magic number (always 9AC6CDD7h) */
    U16 Handle;   /* Metafile HANDLE number (always 0) */
    S16 Left;     /* Left coordinate in metafile units */
    S16 Top;      /* Top coordinate in metafile units */
    S16 Right;    /* Right coordinate in metafile units */
    S16 Bottom;   /* Bottom coordinate in metafile units */
    U16 Inch;     /* Number of metafile units per inch */
    U32 Reserved; /* Reserved (always 0) */
    U16 Checksum; /* Checksum value for previous 10 U16s */
};

/**
 * @internal
 */
struct _wmfHead
{    U16 FileType;      /* Type of metafile (0=memory, 1=disk) */
    U16 HeaderSize;    /* Size of header in U16S (always 9) */
    U16 Version;       /* Version of Microsoft Windows used */
    U32 FileSize;      /* Total size of the metafile in U16s */
    U16 NumOfObjects;  /* Number of objects in the file */
    U32 MaxRecordSize; /* The size of largest record in U16s */
    U16 NumOfParams;   /* Not Used (always 0) */
};

/**
 * @internal
 */
struct _wmfMetaHeader
{    wmfHead*                wmfheader;
    wmfPlaceableMetaHeader* pmh;

    FILE* filein;

    long pos;

    int placeable;
};

struct _wmfAPI_Options
{    void* context;

    void* (*malloc)  (void* context,size_t size);
    void* (*realloc) (void* context,void* mem,size_t size);
    void  (*free)    (void* context,void* mem);

    int    argc;
    char** argv;

    char** fontdirs; /* NULL-terminated list of directories to search for font files */

    struct
    {    wmfFontMap* wmf; /* {0,*}-terminated list: wmf-font-name -> ps-font-name */
        wmfMapping* sub; /* {0,*}-terminated list: wmf-font-name substring equiv */
        wmfMapping* ps;  /* {0,*}-terminated list: ps-font-name -> pfb-file-name */
    } font;

    char* sys_fontmap_file;
    char* xtra_fontmap_file;
    char* gs_fontmap_file;

    char* write_file;

    void (*function) (wmfAPI*);

    char*  module;
    char** dirs;

    FILE* debug_out;
    FILE* error_out;
};

/**
 * @internal
 */
struct _wmfAPI
{    wmf_error_t err; /* current state of API; wmf_E_None, hopefully... */

    wmfHead                Head;  /* structures containing meta file general properties... */
    wmfPlaceableMetaHeader PlaceableMetaHeader;
    wmfMetaHeader          MetaHeader;
    wmfFile                File;

    FILE* debug_out; /* Output streams for debugger & error reports... */
    FILE* error_out;

    wmfAttributeStore store;

    void* write_data; /* Output stream data for --wmf-write=<file> */

    void* user_data; /* These are hooks for data to hang on to... */

    void* device_data;
    void* player_data;
    void* buffer_data;
    void* memory_data;

    void* function_reference;

    void* font_data;

    char** fonts; /* NULL-terminated list of fonts loaded during wmf_scan () */

    void* color_data;

    struct /* Input stream functions... */
    {    wmfRead read;
        wmfSeek seek;
        wmfTell tell;
    } bbuf;

    struct
    {    void* context;

        wmfStatus function; /* return non-zero if premature exit desired */
    } status;

    struct
    {    unsigned long length;

        char* buffer;
    } string_buffer; /* this is a general purpose char buffer */

    unsigned long flags; /* General flags... */
};

/**
 * WMF_ERROR_STATE(wmfAPI* API) -> (wmf_error_t) library error state
 */
#define WMF_ERROR_STATE(Z) (((wmfAPI*)(Z))->err)

/**
 * Structure describing user-definable character-based output stream.
 * 
 * \b wmf_stream_create() and \b wmf_ztream_create() both return pointers to \b wmfStream objects, but
 * an application can create its own implementation if preferred.
 * 
 * @verbatim
typedef int (*wmfSPutS) (char* str,void* context);
typedef int (*wmfReset) (void* context);
@endverbatim
 * 
 * \b wmfSPutS: writes string \p str; returns EOF on error, else 0.
 * 
 * \b wmfReset: resets stream to start; returns non-zero on failure.
 * 
 * \p context is a handle for user data
 */
struct _wmfStream
{    void* context;

    wmfSPutS sputs;
    wmfReset reset;
};

/**
 * @internal
 * Macro-wrapper for input stream function:
 * (int)  WMF_READ((wmfAPI*) API)                 - returns unsigned char cast to int, or EOF
 */
#define WMF_READ(Z)   ((Z)->bbuf.read ((Z)->buffer_data))

/**
 * @internal
 * Macro-wrapper for input stream function:
 * (int)  WMF_SEEK((wmfAPI*) API,(long) position) - returns (-1) on error, else 0
 */
#define WMF_SEEK(Z,P) ((Z)->bbuf.seek ((Z)->buffer_data,P))

/**
 * @internal
 * Macro-wrapper for input stream function:
 * (long) WMF_TELL((wmfAPI*) API)                 - returns (-1) on error, else current position
 */
#define WMF_TELL(Z)   ((Z)->bbuf.tell ((Z)->buffer_data))

#ifdef __cplusplus
}
#endif

/**
 * Structure referencing an image
 */
struct _wmfImage
{    wmf_image_t type;

    U16 width;
    U16 height;

    void* data;
};

#endif /* ! LIBWMF_TYPES_H */

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0106 ]--