<div dir="ltr"><br>Better redefining my problem:<br><br>I have a first union. But on records we do not end case with "end". and beneath the union, I have to place another union, or another fields that is not part of the union.<br>

How can I do that ?<br>
<br>Thanks,<br>Ido<br><br><div class="gmail_quote">On Mon, Dec 26, 2011 at 16:41, ik <span dir="ltr"><<a href="mailto:idokan@gmail.com">idokan@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr">Hello,<br><br>I'm trying to translate the following to Pascal:<br>------------<br>struct xt_option_call {<br>    const char *arg, *ext_name;<br>    const struct xt_option_entry *entry;<br>    void *data;<br>


    unsigned int xflags;<br>    bool invert;<br>    uint8_t nvals;<br>    union {<br>        uint8_t u8, u8_range[2], syslog_level, protocol;<br>        uint16_t u16, u16_range[2], port, port_range[2];<br>        uint32_t u32, u32_range[2];<br>


        uint64_t u64, u64_range[2];<br>        double dbl;<br>        struct {<br>            union nf_inet_addr haddr, hmask;<br>            uint8_t hlen;<br>        };<br>        struct {<br>            uint8_t tos_value, tos_mask;<br>


        };<br>        struct {<br>            uint32_t mark, mask;<br>        };<br>        uint8_t ethermac[6];<br>    } val;<br>    /* Wished for a world where the ones below were gone: */<br>    union {<br>        struct xt_entry_match **match;<br>


        struct xt_entry_target **target;<br>    };<br>    void *xt_entry;<br>    void *udata;<br>};<br><br>------<br>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.<br>


How can I translate it ?<br><br>Thanks,<br>Ido<br>
</div>
</blockquote></div><br></div>