aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/dissectors/packet-fix.h394
-rw-r--r--fix/FIX.xml2
-rw-r--r--fix/Values.xsl3
3 files changed, 204 insertions, 195 deletions
diff --git a/epan/dissectors/packet-fix.h b/epan/dissectors/packet-fix.h
index 05253c5256..75037ca231 100644
--- a/epan/dissectors/packet-fix.h
+++ b/epan/dissectors/packet-fix.h
@@ -1329,149 +1329,149 @@ typedef struct _fix_field {
};
- static const value_string QuoteCondition_val[] = {
- { 'A', "OPEN ACTIVE" },
- { 'B', "CLOSED INACTIVE" },
- { 'C', "EXCHANGE BEST" },
- { 'D', "CONSOLIDATED BEST" },
- { 'E', "LOCKED" },
- { 'F', "CROSSED" },
- { 'G', "DEPTH" },
- { 'H', "FAST TRADING" },
- { 'I', "NON FIRM" },
- { 'L', "MANUAL SLOW QUOTE" },
- { 'J', "OUTRIGHT PRICE" },
- { 'K', "IMPLIED PRICE" },
- { 'M', "DEPTH ON OFFER" },
- { 'N', "DEPTH ON BID" },
- { 'O', "CLOSING" },
- { 'P', "NEWS DISSEMINATION" },
- { 'Q', "TRADING RANGE" },
- { 'R', "ORDER INFLUX" },
- { 'S', "DUE TO RELATED" },
- { 'T', "NEWS PENDING" },
- { 'U', "ADDITIONAL INFO" },
- { 'V', "ADDITIONAL INFO DUE TO RELATED" },
- { 'W', "RESUME" },
- { 'X', "VIEW OF COMMON" },
- { 'Y', "VOLUME ALERT" },
- { 'Z', "ORDER IMBALANCE" },
- { 'a', "EQUIPMENT CHANGEOVER" },
- { 'b', "NO OPEN" },
- { 'c', "REGULAR ETH" },
- { 'd', "AUTOMATIC EXECUTION" },
- { 'e', "AUTOMATIC EXECUTION ETH" },
- { 'f ', "FAST MARKET ETH" },
- { 'g', "INACTIVE ETH" },
- { 'h', "ROTATION" },
- { 'i', "ROTATION ETH" },
- { 'j', "HALT" },
- { 'k', "HALT ETH" },
- { 'l', "DUE TO NEWS DISSEMINATION" },
- { 'm', "DUE TO NEWS PENDING" },
- { 'n', "TRADING RESUME" },
- { 'o', "OUT OF SEQUENCE" },
- { 'p', "BID SPECIALIST" },
- { 'q', "OFFER SPECIALIST" },
- { 'r', "BID OFFER SPECIALIST" },
- { 's', "END OF DAY SAM" },
- { 't', "FORBIDDEN SAM" },
- { 'u', "FROZEN SAM" },
- { 'v', "PREOPENING SAM" },
- { 'w', "OPENING SAM" },
- { 'x', "OPEN SAM" },
- { 'y', "SURVEILLANCE SAM" },
- { 'z', "SUSPENDED SAM" },
- { '0', "RESERVED SAM" },
- { '1', "NO ACTIVE SAM" },
- { '2', "RESTRICTED" },
- { '3', "REST OF BOOK VWAP" },
- { '4', "BETTER PRICES IN CONDITIONAL ORDERS" },
- { '5', "MEDIAN PRICE" },
- { '6', "FULL CURVE" },
- { '7', "FLAT CURVE" },
- { 0, NULL }
- };
-
-
- static const value_string TradeCondition_val[] = {
- { 'A', "CASH" },
- { 'B', "AVERAGE PRICE TRADE" },
- { 'C', "CASH TRADE" },
- { 'D', "NEXT DAY" },
- { 'E', "OPENING REOPENING TRADE DETAIL" },
- { 'F', "INTRADAY TRADE DETAIL" },
- { 'G', "RULE 127 TRADE" },
- { 'H', "RULE 155 TRADE" },
- { 'I', "SOLD LAST" },
- { 'J', "NEXT DAY TRADE" },
- { 'K', "OPENED" },
- { 'L', "SELLER" },
- { 'M', "SOLD" },
- { 'N', "STOPPED STOCK" },
- { 'P', "IMBALANCE MORE BUYERS" },
- { 'Q', "IMBALANCE MORE SELLERS" },
- { 'R', "OPENING PRICE" },
- { 'S', "BARGAIN CONDITION" },
- { 'T', "CONVERTED PRICE INDICATOR" },
- { 'U', "EXCHANGE LAST" },
- { 'V', "FINAL PRICE OF SESSION" },
- { 'W', "EX PIT" },
- { 'X', "CROSSED X" },
- { 'Y', "TRADES RESULTING FROM MANUAL SLOW QUOTE" },
- { 'Z', "TRADES RESULTING FROM INTERMARKET SWEEP" },
- { '0', "CANCEL" },
- { 'a', "VOLUME ONLY" },
- { 'b', "DIRECT PLUS" },
- { 'c', "ACQUISITION" },
- { 'd', "BUNCHED" },
- { 'e', "DISTRIBUTION" },
- { 'f', "BUNCHED SALE" },
- { 'g', "SPLIT TRADE" },
- { 'h', "CANCEL STOPPED" },
- { 'i', "CANCEL ETH" },
- { 'j', "CANCEL STOPPED ETH" },
- { 'k', "OUT OF SEQUENCE ETH" },
- { 'l', "CANCEL LAST ETH" },
- { 'm', "SOLD LAST SALE ETH" },
- { 'n', "CANCEL LAST" },
- { 'o', "SOLD LAST SALE" },
- { 'p', "CANCEL OPEN" },
- { 'q', "CANCEL OPEN ETH" },
- { 'r', "OPENED SALE ETH" },
- { 's', "CANCEL ONLY" },
- { 't', "CANCEL ONLY ETH" },
- { 'u', "LATE OPEN ETH" },
- { 'v', "AUTO EXECUTION ETH" },
- { 'w', "REOPEN" },
- { 'x', "REOPEN ETH" },
- { 'y', "ADJUSTED" },
- { 'z', "ADJUSTED ETH" },
- { 'AA', "SPREAD" },
- { 'AB', "SPREAD ETH" },
- { 'AC', "STRADDLE" },
- { 'AD', "STRADDLE ETH" },
- { 'AE', "STOPPED" },
- { 'AF', "STOPPED ETH" },
- { 'AG', "REGULAR ETH" },
- { 'AH', "COMBO" },
- { 'AI', "COMBO ETH" },
- { 'AJ', "OFFICIAL CLOSING PRICE" },
- { 'AK', "PRIOR REFERENCE PRICE" },
- { 'AL', "STOPPED SOLD LAST" },
- { 'AM', "STOPPED OUT OF SEQUENCE" },
- { 'AN', "OFFICAL CLOSING PRICE" },
- { 'AO', "CROSSED AO" },
- { 'AP', "FAST MARKET" },
- { 'AQ', "AUTOMATIC EXECUTION" },
- { 'AR', "FORM T" },
- { 'AS', "BASKET INDEX" },
- { 'AT', "BURST BASKET" },
- { '1', "IMPLIED TRADE" },
- { 'AV', "OUTSIDE SPREAD" },
- { '2', "MARKETPLACE ENTERED TRADE" },
- { '3', "MULT ASSET CLASS MULTILEG TRADE" },
- { '4', "MULTILEG TO MULTILEG TRADE" },
+ static const string_string QuoteCondition_val[] = {
+ { "A", "OPEN ACTIVE" },
+ { "B", "CLOSED INACTIVE" },
+ { "C", "EXCHANGE BEST" },
+ { "D", "CONSOLIDATED BEST" },
+ { "E", "LOCKED" },
+ { "F", "CROSSED" },
+ { "G", "DEPTH" },
+ { "H", "FAST TRADING" },
+ { "I", "NON FIRM" },
+ { "L", "MANUAL SLOW QUOTE" },
+ { "J", "OUTRIGHT PRICE" },
+ { "K", "IMPLIED PRICE" },
+ { "M", "DEPTH ON OFFER" },
+ { "N", "DEPTH ON BID" },
+ { "O", "CLOSING" },
+ { "P", "NEWS DISSEMINATION" },
+ { "Q", "TRADING RANGE" },
+ { "R", "ORDER INFLUX" },
+ { "S", "DUE TO RELATED" },
+ { "T", "NEWS PENDING" },
+ { "U", "ADDITIONAL INFO" },
+ { "V", "ADDITIONAL INFO DUE TO RELATED" },
+ { "W", "RESUME" },
+ { "X", "VIEW OF COMMON" },
+ { "Y", "VOLUME ALERT" },
+ { "Z", "ORDER IMBALANCE" },
+ { "a", "EQUIPMENT CHANGEOVER" },
+ { "b", "NO OPEN" },
+ { "c", "REGULAR ETH" },
+ { "d", "AUTOMATIC EXECUTION" },
+ { "e", "AUTOMATIC EXECUTION ETH" },
+ { "f ", "FAST MARKET ETH" },
+ { "g", "INACTIVE ETH" },
+ { "h", "ROTATION" },
+ { "i", "ROTATION ETH" },
+ { "j", "HALT" },
+ { "k", "HALT ETH" },
+ { "l", "DUE TO NEWS DISSEMINATION" },
+ { "m", "DUE TO NEWS PENDING" },
+ { "n", "TRADING RESUME" },
+ { "o", "OUT OF SEQUENCE" },
+ { "p", "BID SPECIALIST" },
+ { "q", "OFFER SPECIALIST" },
+ { "r", "BID OFFER SPECIALIST" },
+ { "s", "END OF DAY SAM" },
+ { "t", "FORBIDDEN SAM" },
+ { "u", "FROZEN SAM" },
+ { "v", "PREOPENING SAM" },
+ { "w", "OPENING SAM" },
+ { "x", "OPEN SAM" },
+ { "y", "SURVEILLANCE SAM" },
+ { "z", "SUSPENDED SAM" },
+ { "0", "RESERVED SAM" },
+ { "1", "NO ACTIVE SAM" },
+ { "2", "RESTRICTED" },
+ { "3", "REST OF BOOK VWAP" },
+ { "4", "BETTER PRICES IN CONDITIONAL ORDERS" },
+ { "5", "MEDIAN PRICE" },
+ { "6", "FULL CURVE" },
+ { "7", "FLAT CURVE" },
+ { 0, NULL }
+ };
+
+
+ static const string_string TradeCondition_val[] = {
+ { "A", "CASH" },
+ { "B", "AVERAGE PRICE TRADE" },
+ { "C", "CASH TRADE" },
+ { "D", "NEXT DAY" },
+ { "E", "OPENING REOPENING TRADE DETAIL" },
+ { "F", "INTRADAY TRADE DETAIL" },
+ { "G", "RULE 127 TRADE" },
+ { "H", "RULE 155 TRADE" },
+ { "I", "SOLD LAST" },
+ { "J", "NEXT DAY TRADE" },
+ { "K", "OPENED" },
+ { "L", "SELLER" },
+ { "M", "SOLD" },
+ { "N", "STOPPED STOCK" },
+ { "P", "IMBALANCE MORE BUYERS" },
+ { "Q", "IMBALANCE MORE SELLERS" },
+ { "R", "OPENING PRICE" },
+ { "S", "BARGAIN CONDITION" },
+ { "T", "CONVERTED PRICE INDICATOR" },
+ { "U", "EXCHANGE LAST" },
+ { "V", "FINAL PRICE OF SESSION" },
+ { "W", "EX PIT" },
+ { "X", "CROSSED X" },
+ { "Y", "TRADES RESULTING FROM MANUAL SLOW QUOTE" },
+ { "Z", "TRADES RESULTING FROM INTERMARKET SWEEP" },
+ { "0", "CANCEL" },
+ { "a", "VOLUME ONLY" },
+ { "b", "DIRECT PLUS" },
+ { "c", "ACQUISITION" },
+ { "d", "BUNCHED" },
+ { "e", "DISTRIBUTION" },
+ { "f", "BUNCHED SALE" },
+ { "g", "SPLIT TRADE" },
+ { "h", "CANCEL STOPPED" },
+ { "i", "CANCEL ETH" },
+ { "j", "CANCEL STOPPED ETH" },
+ { "k", "OUT OF SEQUENCE ETH" },
+ { "l", "CANCEL LAST ETH" },
+ { "m", "SOLD LAST SALE ETH" },
+ { "n", "CANCEL LAST" },
+ { "o", "SOLD LAST SALE" },
+ { "p", "CANCEL OPEN" },
+ { "q", "CANCEL OPEN ETH" },
+ { "r", "OPENED SALE ETH" },
+ { "s", "CANCEL ONLY" },
+ { "t", "CANCEL ONLY ETH" },
+ { "u", "LATE OPEN ETH" },
+ { "v", "AUTO EXECUTION ETH" },
+ { "w", "REOPEN" },
+ { "x", "REOPEN ETH" },
+ { "y", "ADJUSTED" },
+ { "z", "ADJUSTED ETH" },
+ { "AA", "SPREAD" },
+ { "AB", "SPREAD ETH" },
+ { "AC", "STRADDLE" },
+ { "AD", "STRADDLE ETH" },
+ { "AE", "STOPPED" },
+ { "AF", "STOPPED ETH" },
+ { "AG", "REGULAR ETH" },
+ { "AH", "COMBO" },
+ { "AI", "COMBO ETH" },
+ { "AJ", "OFFICIAL CLOSING PRICE" },
+ { "AK", "PRIOR REFERENCE PRICE" },
+ { "AL", "STOPPED SOLD LAST" },
+ { "AM", "STOPPED OUT OF SEQUENCE" },
+ { "AN", "OFFICAL CLOSING PRICE" },
+ { "AO", "CROSSED AO" },
+ { "AP", "FAST MARKET" },
+ { "AQ", "AUTOMATIC EXECUTION" },
+ { "AR", "FORM T" },
+ { "AS", "BASKET INDEX" },
+ { "AT", "BURST BASKET" },
+ { "1", "IMPLIED TRADE" },
+ { "AV", "OUTSIDE SPREAD" },
+ { "2", "MARKETPLACE ENTERED TRADE" },
+ { "3", "MULT ASSET CLASS MULTILEG TRADE" },
+ { "4", "MULTILEG TO MULTILEG TRADE" },
{ 0, NULL }
};
@@ -3972,31 +3972,31 @@ typedef struct _fix_field {
};
- static const value_string CustOrderHandlingInst_val[] = {
- { 'ADD', "ADD ON ORDER" },
- { 'AON', "ALL OR NONE" },
- { 'CNH', "CASH NOT HELD" },
- { 'DIR', "DIRECTED ORDER" },
- { 'E.W', "EXCHANGE FOR PHYSICAL TRANSACTION" },
- { 'FOK', "FILL OR KILL" },
- { 'IO', "IMBALANCE ONLY" },
- { 'IOC', "IMMEDIATE OR CANCEL" },
- { 'LOO', "LIMIT ON OPEN" },
- { 'LOC', "LIMIT ON CLOSE" },
- { 'MAO', "MARKET AT OPEN" },
- { 'MAC', "MARKET AT CLOSE" },
- { 'MOO', "MARKET ON OPEN" },
- { 'MOC', "MARKET ON CLOSE" },
- { 'MQT', "MINIMUM QUANTITY" },
- { 'NH', "NOT HELD" },
- { 'OVD', "OVER THE DAY" },
- { 'PEG', "PEGGED" },
- { 'RSV', "RESERVE SIZE ORDER" },
- { 'S.W', "STOP STOCK TRANSACTION" },
- { 'SCL', "SCALE" },
- { 'TMO', "TIME ORDER" },
- { 'TS', "TRAILING STOP" },
- { 'WRK', "WORK" },
+ static const string_string CustOrderHandlingInst_val[] = {
+ { "ADD", "ADD ON ORDER" },
+ { "AON", "ALL OR NONE" },
+ { "CNH", "CASH NOT HELD" },
+ { "DIR", "DIRECTED ORDER" },
+ { "E.W", "EXCHANGE FOR PHYSICAL TRANSACTION" },
+ { "FOK", "FILL OR KILL" },
+ { "IO", "IMBALANCE ONLY" },
+ { "IOC", "IMMEDIATE OR CANCEL" },
+ { "LOO", "LIMIT ON OPEN" },
+ { "LOC", "LIMIT ON CLOSE" },
+ { "MAO", "MARKET AT OPEN" },
+ { "MAC", "MARKET AT CLOSE" },
+ { "MOO", "MARKET ON OPEN" },
+ { "MOC", "MARKET ON CLOSE" },
+ { "MQT", "MINIMUM QUANTITY" },
+ { "NH", "NOT HELD" },
+ { "OVD", "OVER THE DAY" },
+ { "PEG", "PEGGED" },
+ { "RSV", "RESERVE SIZE ORDER" },
+ { "S.W", "STOP STOCK TRANSACTION" },
+ { "SCL", "SCALE" },
+ { "TMO", "TIME ORDER" },
+ { "TS", "TRAILING STOP" },
+ { "WRK", "WORK" },
{ 0, NULL }
};
@@ -4029,31 +4029,31 @@ typedef struct _fix_field {
};
- static const value_string DeskOrderHandlingInst_val[] = {
- { 'ADD', "ADD ON ORDER" },
- { 'AON', "ALL OR NONE" },
- { 'CNH', "CASH NOT HELD" },
- { 'DIR', "DIRECTED ORDER" },
- { 'E.W', "EXCHANGE FOR PHYSICAL TRANSACTION" },
- { 'FOK', "FILL OR KILL" },
- { 'IO', "IMBALANCE ONLY" },
- { 'IOC', "IMMEDIATE OR CANCEL" },
- { 'LOO', "LIMIT ON OPEN" },
- { 'LOC', "LIMIT ON CLOSE" },
- { 'MAO', "MARKET AT OPEN" },
- { 'MAC', "MARKET AT CLOSE" },
- { 'MOO', "MARKET ON OPEN" },
- { 'MOC', "MARKET ON CLOSE" },
- { 'MQT', "MINIMUM QUANTITY" },
- { 'NH', "NOT HELD" },
- { 'OVD', "OVER THE DAY" },
- { 'PEG', "PEGGED" },
- { 'RSV', "RESERVE SIZE ORDER" },
- { 'S.W', "STOP STOCK TRANSACTION" },
- { 'SCL', "SCALE" },
- { 'TMO', "TIME ORDER" },
- { 'TS', "TRAILING STOP" },
- { 'WRK', "WORK" },
+ static const string_string DeskOrderHandlingInst_val[] = {
+ { "ADD", "ADD ON ORDER" },
+ { "AON", "ALL OR NONE" },
+ { "CNH", "CASH NOT HELD" },
+ { "DIR", "DIRECTED ORDER" },
+ { "E.W", "EXCHANGE FOR PHYSICAL TRANSACTION" },
+ { "FOK", "FILL OR KILL" },
+ { "IO", "IMBALANCE ONLY" },
+ { "IOC", "IMMEDIATE OR CANCEL" },
+ { "LOO", "LIMIT ON OPEN" },
+ { "LOC", "LIMIT ON CLOSE" },
+ { "MAO", "MARKET AT OPEN" },
+ { "MAC", "MARKET AT CLOSE" },
+ { "MOO", "MARKET ON OPEN" },
+ { "MOC", "MARKET ON CLOSE" },
+ { "MQT", "MINIMUM QUANTITY" },
+ { "NH", "NOT HELD" },
+ { "OVD", "OVER THE DAY" },
+ { "PEG", "PEGGED" },
+ { "RSV", "RESERVE SIZE ORDER" },
+ { "S.W", "STOP STOCK TRANSACTION" },
+ { "SCL", "SCALE" },
+ { "TMO", "TIME ORDER" },
+ { "TS", "TRAILING STOP" },
+ { "WRK", "WORK" },
{ 0, NULL }
};
@@ -4934,6 +4934,7 @@ typedef struct _fix_field {
{ 0, NULL }
};
+
static fix_field fix_fields[] = {
{ 1, -1, 0, NULL }, /* Account */
@@ -6548,7 +6549,7 @@ static fix_field fix_fields[] = {
{ 1621, -1, 0, NULL }, /* RiskEncodedSecurityDesc */
};
- static hf_register_info hf_FIX[] = {
+static hf_register_info hf_FIX[] = {
{ &fix_fields[0].hf_id,
{ "Account (1)", "fix.Account",
@@ -14602,3 +14603,8 @@ static fix_field fix_fields[] = {
},
};
+#define FIX_40 140
+#define FIX_41 211
+#define FIX_42 446
+#define FIX_43 659
+#define FIX_44 956
diff --git a/fix/FIX.xml b/fix/FIX.xml
index 2bb7148dd4..686f3f41e6 100644
--- a/fix/FIX.xml
+++ b/fix/FIX.xml
@@ -10604,4 +10604,4 @@
<field number='1620' name='RiskEncodedSecurityDescLen' type='LENGTH' />
<field number='1621' name='RiskEncodedSecurityDesc' type='DATA' />
</fields>
-</fix> \ No newline at end of file
+</fix>
diff --git a/fix/Values.xsl b/fix/Values.xsl
index 619cd9e54a..e4a2decb32 100644
--- a/fix/Values.xsl
+++ b/fix/Values.xsl
@@ -36,6 +36,7 @@ translate(@description,$uppercase,$smallcase)
<xsl:variable name="val_type" >
<xsl:choose>
<xsl:when test="@type='STRING'"> string_string </xsl:when>
+ <xsl:when test="@type='MULTIPLESTRINGVALUE'"> string_string </xsl:when>
<xsl:otherwise> value_string </xsl:otherwise>
</xsl:choose>
</xsl:variable>
@@ -44,6 +45,8 @@ translate(@description,$uppercase,$smallcase)
{ <xsl:value-of select="@enum"/>, "<xsl:value-of select="translate(@description,'_',' ')"/>" },</xsl:when>
<xsl:when test="../@type='STRING'">
{ "<xsl:value-of select="@enum"/>", "<xsl:value-of select="translate(@description,'_',' ')"/>" },</xsl:when>
+ <xsl:when test="../@type='MULTIPLESTRINGVALUE'">
+ { "<xsl:value-of select="@enum"/>", "<xsl:value-of select="translate(@description,'_',' ')"/>" },</xsl:when>
<xsl:otherwise>
{ '<xsl:value-of select="@enum"/>', "<xsl:value-of select="translate(@description,'_',' ')"/>" },</xsl:otherwise>
</xsl:choose>