[fpc-pascal] How to create this "union" ?

ik idokan at gmail.com
Mon Dec 26 15:41:36 CET 2011


Hello,

I'm trying to translate the following to Pascal:
------------
struct xt_option_call {
    const char *arg, *ext_name;
    const struct xt_option_entry *entry;
    void *data;
    unsigned int xflags;
    bool invert;
    uint8_t nvals;
    union {
        uint8_t u8, u8_range[2], syslog_level, protocol;
        uint16_t u16, u16_range[2], port, port_range[2];
        uint32_t u32, u32_range[2];
        uint64_t u64, u64_range[2];
        double dbl;
        struct {
            union nf_inet_addr haddr, hmask;
            uint8_t hlen;
        };
        struct {
            uint8_t tos_value, tos_mask;
        };
        struct {
            uint32_t mark, mask;
        };
        uint8_t ethermac[6];
    } val;
    /* Wished for a world where the ones below were gone: */
    union {
        struct xt_entry_match **match;
        struct xt_entry_target **target;
    };
    void *xt_entry;
    void *udata;
};

------
h2pas does not capable of translating it, and I'm not sure that I know to
make the "case" statement that will be equivalent for this complex union.
How can I translate it ?

Thanks,
Ido
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20111226/043ac4b1/attachment.html>


More information about the fpc-pascal mailing list