lbessard@49: /* etisserant@107: * (c) 2008 Edouard TISSERANT lbessard@49: * lbessard@50: * Offered to the public under the terms of the GNU Lesser General Public lbessard@50: * License as published by the Free Software Foundation; either version 2 lbessard@50: * of the License, or (at your option) any later version. lbessard@49: * lbessard@49: * This program is distributed in the hope that it will be useful, but lbessard@49: * WITHOUT ANY WARRANTY; without even the implied warranty of lbessard@50: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser lbessard@50: * General Public License for more details. lbessard@49: * lbessard@49: * This code is made available on the understanding that it will not be lbessard@49: * used in safety-critical situations without a full and competent review. lbessard@49: */ etisserant@40: etisserant@40: /**** etisserant@40: * IEC 61131-3 standard function lib etisserant@40: * generated code, do not edit by hand etisserant@40: */ etisserant@40: etisserant@40: /* Macro that expand to subtypes */ etisserant@40: #define ANY(DO) ANY_DERIVED(DO) ANY_ELEMENTARY(DO) etisserant@40: #define ANY_DERIVED(DO) etisserant@40: #define ANY_ELEMENTARY(DO) ANY_MAGNITUDE(DO) ANY_BIT(DO) ANY_STRING(DO) ANY_DATE(DO) etisserant@40: #define ANY_MAGNITUDE(DO) ANY_NUM(DO) DO(TIME) etisserant@40: #define ANY_BIT(DO) ANY_NBIT(DO) DO(BOOL) etisserant@40: #define ANY_NBIT(DO) DO(BYTE) DO(WORD) DO(DWORD) DO(LWORD) etisserant@40: #define ANY_STRING(DO) DO(STRING) etisserant@40: #define ANY_DATE(DO) DO(DATE) DO(TOD) DO(DT) etisserant@40: #define ANY_NUM(DO) ANY_REAL(DO) ANY_INT(DO) etisserant@40: #define ANY_REAL(DO) DO(REAL) DO(LREAL) etisserant@40: #define ANY_INT(DO) ANY_SINT(DO) ANY_UINT(DO) etisserant@40: #define ANY_SINT(DO) DO(SINT) DO(INT) DO(DINT) DO(LINT) etisserant@40: #define ANY_UINT(DO) DO(USINT) DO(UINT) DO(UDINT) DO(ULINT)