| ############################################################# -*- c -*- |
| ## generic include for XXX. Do not use directly. |
| ## |
| ## $Id$ |
| ######################################################################## |
| @if $m2c_mark_boundary == 1@ |
| /** START code generated by $RCSfile$ $Revision$ */ |
| @end@ |
| ######################################################################## |
| ## |
| /* |
| * TODO:120:r: |-> Review $context mib index. |
| * This structure is used to represent the index for $context. |
| */ |
| @eval $m2c_gi_others = (count_indexes($context) - 1)@ |
| @eval $m2c_gi_len = 0@ |
| @eval $m2c_gi_warn = 0@ |
| typedef struct ${context}_mib_index_s { |
| |
| @foreach $node index@ |
| @ include m2c_setup_node.m2i@ |
| ##@ include details-node.m2i@ |
| /* |
| * $m2c_node_summary |
| */ |
| @ if $m2c_node_needlength == 1@ |
| @ eval $m2c_gi_warn = 1@ |
| @ eval $m2c_gi_maxlen = (128 - $node.oidlength - $m2c_gi_others - 1)@ |
| @ if $m2c_node_maxlen > $m2c_gi_maxlen@ |
| @ eval $m2c_node_maxlen = $m2c_gi_maxlen@ |
| /** 128 - $m2c_gi_others(other indexes) - oid length($node.oidlength) = $m2c_node_maxlen */ |
| @ end@ |
| @ eval $m2c_gi_len = $m2c_gi_len + $m2c_node_maxlen + 1@ |
| @ elsif "$node.type" eq "ASN_IPADDRESS"@ |
| @ eval $m2c_gi_len = $m2c_gi_len + 4@ |
| @ else@ |
| @ eval $m2c_gi_len = $m2c_gi_len + 1@ |
| @ end@ # needlength |
| @ include node-storage.m2i@ |
| |
| @end@ # foreach |
| |
| } ${context}_mib_index; |
| |
| /* |
| * TODO:121:r: | |-> Review $context max index length. |
| * If you KNOW that your indexes will never exceed a certain |
| * length, update this macro to that length. |
| @ if $m2c_gi_warn == 1@ |
| * |
| * BE VERY CAREFUL TO TAKE INTO ACCOUNT THE MAXIMUM |
| * POSSIBLE LENGHT FOR EVERY VARIABLE LENGTH INDEX! |
| * Guessing 128 - col/entry(2) - oid len($context.oidlength) |
| @ if $m2c_gi_len > 126@ |
| @ eval $m2c_gi_len = 126 - $context.oidlength@ |
| @ end@ |
| ##@ else@ |
| ##@ eval $m2c_gi_len = count_indexes($context)@ |
| @ end@ |
| */ |
| #define MAX_${context}_IDX_LEN $m2c_gi_len |
| |
| ## |
| ######################################################################## |
| @if $m2c_mark_boundary == 1@ |
| /** END code generated by $RCSfile$ $Revision$ */ |
| @end@ |