From owner-svn-src-user@FreeBSD.ORG  Wed Jul 29 00:39:46 2009
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 6624C106566C;
	Wed, 29 Jul 2009 00:39:46 +0000 (UTC)
	(envelope-from kmacy@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 5275A8FC0C;
	Wed, 29 Jul 2009 00:39:46 +0000 (UTC)
	(envelope-from kmacy@FreeBSD.org)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6T0dk98048496;
	Wed, 29 Jul 2009 00:39:46 GMT (envelope-from kmacy@svn.freebsd.org)
Received: (from kmacy@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6T0dkr9048491;
	Wed, 29 Jul 2009 00:39:46 GMT (envelope-from kmacy@svn.freebsd.org)
Message-Id: <200907290039.n6T0dkr9048491@svn.freebsd.org>
From: Kip Macy <kmacy@FreeBSD.org>
Date: Wed, 29 Jul 2009 00:39:46 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r195937 - in user/kmacy/releng_7_2_fcs_1/sys: libkern
	netinet sys
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
	src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 29 Jul 2009 00:39:46 -0000

Author: kmacy
Date: Wed Jul 29 00:39:46 2009
New Revision: 195937
URL: http://svn.freebsd.org/changeset/base/195937

Log:
  fix SCTP compilation

Modified:
  user/kmacy/releng_7_2_fcs_1/sys/libkern/crc32.c
  user/kmacy/releng_7_2_fcs_1/sys/netinet/in_pcb.c
  user/kmacy/releng_7_2_fcs_1/sys/netinet/sctp_bsd_addr.c
  user/kmacy/releng_7_2_fcs_1/sys/sys/libkern.h

Modified: user/kmacy/releng_7_2_fcs_1/sys/libkern/crc32.c
==============================================================================
--- user/kmacy/releng_7_2_fcs_1/sys/libkern/crc32.c	Wed Jul 29 00:15:39 2009	(r195936)
+++ user/kmacy/releng_7_2_fcs_1/sys/libkern/crc32.c	Wed Jul 29 00:39:46 2009	(r195937)
@@ -112,3 +112,647 @@ uint32_t crc32_tab[] = {
  *		return crc ^ ~0U;
  *	}
  */
+
+
+/* CRC32C routines, these use a different polynomial */
+/*****************************************************************/
+/*                                                               */
+/* CRC LOOKUP TABLE                                              */
+/* ================                                              */
+/* The following CRC lookup table was generated automagically    */
+/* by the Rocksoft^tm Model CRC Algorithm Table Generation       */
+/* Program V1.0 using the following model parameters:            */
+/*                                                               */
+/*    Width   : 4 bytes.                                         */
+/*    Poly    : 0x1EDC6F41L                                      */
+/*    Reverse : TRUE.                                            */
+/*                                                               */
+/* For more information on the Rocksoft^tm Model CRC Algorithm,  */
+/* see the document titled "A Painless Guide to CRC Error        */
+/* Detection Algorithms" by Ross Williams                        */
+/* (ross@guest.adelaide.edu.au.). This document is likely to be  */
+/* in the FTP archive "ftp.adelaide.edu.au/pub/rocksoft".        */
+/*                                                               */
+/*****************************************************************/
+
+static uint32_t crc32Table[256] = {
+	0x00000000L, 0xF26B8303L, 0xE13B70F7L, 0x1350F3F4L,
+	0xC79A971FL, 0x35F1141CL, 0x26A1E7E8L, 0xD4CA64EBL,
+	0x8AD958CFL, 0x78B2DBCCL, 0x6BE22838L, 0x9989AB3BL,
+	0x4D43CFD0L, 0xBF284CD3L, 0xAC78BF27L, 0x5E133C24L,
+	0x105EC76FL, 0xE235446CL, 0xF165B798L, 0x030E349BL,
+	0xD7C45070L, 0x25AFD373L, 0x36FF2087L, 0xC494A384L,
+	0x9A879FA0L, 0x68EC1CA3L, 0x7BBCEF57L, 0x89D76C54L,
+	0x5D1D08BFL, 0xAF768BBCL, 0xBC267848L, 0x4E4DFB4BL,
+	0x20BD8EDEL, 0xD2D60DDDL, 0xC186FE29L, 0x33ED7D2AL,
+	0xE72719C1L, 0x154C9AC2L, 0x061C6936L, 0xF477EA35L,
+	0xAA64D611L, 0x580F5512L, 0x4B5FA6E6L, 0xB93425E5L,
+	0x6DFE410EL, 0x9F95C20DL, 0x8CC531F9L, 0x7EAEB2FAL,
+	0x30E349B1L, 0xC288CAB2L, 0xD1D83946L, 0x23B3BA45L,
+	0xF779DEAEL, 0x05125DADL, 0x1642AE59L, 0xE4292D5AL,
+	0xBA3A117EL, 0x4851927DL, 0x5B016189L, 0xA96AE28AL,
+	0x7DA08661L, 0x8FCB0562L, 0x9C9BF696L, 0x6EF07595L,
+	0x417B1DBCL, 0xB3109EBFL, 0xA0406D4BL, 0x522BEE48L,
+	0x86E18AA3L, 0x748A09A0L, 0x67DAFA54L, 0x95B17957L,
+	0xCBA24573L, 0x39C9C670L, 0x2A993584L, 0xD8F2B687L,
+	0x0C38D26CL, 0xFE53516FL, 0xED03A29BL, 0x1F682198L,
+	0x5125DAD3L, 0xA34E59D0L, 0xB01EAA24L, 0x42752927L,
+	0x96BF4DCCL, 0x64D4CECFL, 0x77843D3BL, 0x85EFBE38L,
+	0xDBFC821CL, 0x2997011FL, 0x3AC7F2EBL, 0xC8AC71E8L,
+	0x1C661503L, 0xEE0D9600L, 0xFD5D65F4L, 0x0F36E6F7L,
+	0x61C69362L, 0x93AD1061L, 0x80FDE395L, 0x72966096L,
+	0xA65C047DL, 0x5437877EL, 0x4767748AL, 0xB50CF789L,
+	0xEB1FCBADL, 0x197448AEL, 0x0A24BB5AL, 0xF84F3859L,
+	0x2C855CB2L, 0xDEEEDFB1L, 0xCDBE2C45L, 0x3FD5AF46L,
+	0x7198540DL, 0x83F3D70EL, 0x90A324FAL, 0x62C8A7F9L,
+	0xB602C312L, 0x44694011L, 0x5739B3E5L, 0xA55230E6L,
+	0xFB410CC2L, 0x092A8FC1L, 0x1A7A7C35L, 0xE811FF36L,
+	0x3CDB9BDDL, 0xCEB018DEL, 0xDDE0EB2AL, 0x2F8B6829L,
+	0x82F63B78L, 0x709DB87BL, 0x63CD4B8FL, 0x91A6C88CL,
+	0x456CAC67L, 0xB7072F64L, 0xA457DC90L, 0x563C5F93L,
+	0x082F63B7L, 0xFA44E0B4L, 0xE9141340L, 0x1B7F9043L,
+	0xCFB5F4A8L, 0x3DDE77ABL, 0x2E8E845FL, 0xDCE5075CL,
+	0x92A8FC17L, 0x60C37F14L, 0x73938CE0L, 0x81F80FE3L,
+	0x55326B08L, 0xA759E80BL, 0xB4091BFFL, 0x466298FCL,
+	0x1871A4D8L, 0xEA1A27DBL, 0xF94AD42FL, 0x0B21572CL,
+	0xDFEB33C7L, 0x2D80B0C4L, 0x3ED04330L, 0xCCBBC033L,
+	0xA24BB5A6L, 0x502036A5L, 0x4370C551L, 0xB11B4652L,
+	0x65D122B9L, 0x97BAA1BAL, 0x84EA524EL, 0x7681D14DL,
+	0x2892ED69L, 0xDAF96E6AL, 0xC9A99D9EL, 0x3BC21E9DL,
+	0xEF087A76L, 0x1D63F975L, 0x0E330A81L, 0xFC588982L,
+	0xB21572C9L, 0x407EF1CAL, 0x532E023EL, 0xA145813DL,
+	0x758FE5D6L, 0x87E466D5L, 0x94B49521L, 0x66DF1622L,
+	0x38CC2A06L, 0xCAA7A905L, 0xD9F75AF1L, 0x2B9CD9F2L,
+	0xFF56BD19L, 0x0D3D3E1AL, 0x1E6DCDEEL, 0xEC064EEDL,
+	0xC38D26C4L, 0x31E6A5C7L, 0x22B65633L, 0xD0DDD530L,
+	0x0417B1DBL, 0xF67C32D8L, 0xE52CC12CL, 0x1747422FL,
+	0x49547E0BL, 0xBB3FFD08L, 0xA86F0EFCL, 0x5A048DFFL,
+	0x8ECEE914L, 0x7CA56A17L, 0x6FF599E3L, 0x9D9E1AE0L,
+	0xD3D3E1ABL, 0x21B862A8L, 0x32E8915CL, 0xC083125FL,
+	0x144976B4L, 0xE622F5B7L, 0xF5720643L, 0x07198540L,
+	0x590AB964L, 0xAB613A67L, 0xB831C993L, 0x4A5A4A90L,
+	0x9E902E7BL, 0x6CFBAD78L, 0x7FAB5E8CL, 0x8DC0DD8FL,
+	0xE330A81AL, 0x115B2B19L, 0x020BD8EDL, 0xF0605BEEL,
+	0x24AA3F05L, 0xD6C1BC06L, 0xC5914FF2L, 0x37FACCF1L,
+	0x69E9F0D5L, 0x9B8273D6L, 0x88D28022L, 0x7AB90321L,
+	0xAE7367CAL, 0x5C18E4C9L, 0x4F48173DL, 0xBD23943EL,
+	0xF36E6F75L, 0x0105EC76L, 0x12551F82L, 0xE03E9C81L,
+	0x34F4F86AL, 0xC69F7B69L, 0xD5CF889DL, 0x27A40B9EL,
+	0x79B737BAL, 0x8BDCB4B9L, 0x988C474DL, 0x6AE7C44EL,
+	0xBE2DA0A5L, 0x4C4623A6L, 0x5F16D052L, 0xAD7D5351L
+};
+
+static uint32_t
+singletable_crc32c(uint32_t crc, const void *buf, size_t size)
+{
+	const uint8_t *p = buf;
+
+
+	while (size--)
+		crc = crc32Table[(crc ^ *p++) & 0xff] ^ (crc >> 8);
+
+	return crc;
+}
+
+
+/*
+ * Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+ *
+ *
+ * This software program is licensed subject to the BSD License, available at
+ * http://www.opensource.org/licenses/bsd-license.html.
+ *
+ * Abstract:
+ *
+ * Tables for software CRC generation
+ */
+
+/*
+ * The following CRC lookup table was generated automagically using the
+ * following model parameters:
+ *
+ * Generator Polynomial = ................. 0x1EDC6F41
+ * Generator Polynomial Length = .......... 32 bits
+ * Reflected Bits = ....................... TRUE
+ * Table Generation Offset = .............. 32 bits
+ * Number of Slices = ..................... 8 slices
+ * Slice Lengths = ........................ 8 8 8 8 8 8 8 8
+ * Directory Name = ....................... .\
+ * File Name = ............................ 8x256_tables.c
+ */
+
+static uint32_t sctp_crc_tableil8_o32[256] =
+{
+	0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, 0xC79A971F, 0x35F1141C, 0x26A1E7E8, 0xD4CA64EB,
+	0x8AD958CF, 0x78B2DBCC, 0x6BE22838, 0x9989AB3B, 0x4D43CFD0, 0xBF284CD3, 0xAC78BF27, 0x5E133C24,
+	0x105EC76F, 0xE235446C, 0xF165B798, 0x030E349B, 0xD7C45070, 0x25AFD373, 0x36FF2087, 0xC494A384,
+	0x9A879FA0, 0x68EC1CA3, 0x7BBCEF57, 0x89D76C54, 0x5D1D08BF, 0xAF768BBC, 0xBC267848, 0x4E4DFB4B,
+	0x20BD8EDE, 0xD2D60DDD, 0xC186FE29, 0x33ED7D2A, 0xE72719C1, 0x154C9AC2, 0x061C6936, 0xF477EA35,
+	0xAA64D611, 0x580F5512, 0x4B5FA6E6, 0xB93425E5, 0x6DFE410E, 0x9F95C20D, 0x8CC531F9, 0x7EAEB2FA,
+	0x30E349B1, 0xC288CAB2, 0xD1D83946, 0x23B3BA45, 0xF779DEAE, 0x05125DAD, 0x1642AE59, 0xE4292D5A,
+	0xBA3A117E, 0x4851927D, 0x5B016189, 0xA96AE28A, 0x7DA08661, 0x8FCB0562, 0x9C9BF696, 0x6EF07595,
+	0x417B1DBC, 0xB3109EBF, 0xA0406D4B, 0x522BEE48, 0x86E18AA3, 0x748A09A0, 0x67DAFA54, 0x95B17957,
+	0xCBA24573, 0x39C9C670, 0x2A993584, 0xD8F2B687, 0x0C38D26C, 0xFE53516F, 0xED03A29B, 0x1F682198,
+	0x5125DAD3, 0xA34E59D0, 0xB01EAA24, 0x42752927, 0x96BF4DCC, 0x64D4CECF, 0x77843D3B, 0x85EFBE38,
+	0xDBFC821C, 0x2997011F, 0x3AC7F2EB, 0xC8AC71E8, 0x1C661503, 0xEE0D9600, 0xFD5D65F4, 0x0F36E6F7,
+	0x61C69362, 0x93AD1061, 0x80FDE395, 0x72966096, 0xA65C047D, 0x5437877E, 0x4767748A, 0xB50CF789,
+	0xEB1FCBAD, 0x197448AE, 0x0A24BB5A, 0xF84F3859, 0x2C855CB2, 0xDEEEDFB1, 0xCDBE2C45, 0x3FD5AF46,
+	0x7198540D, 0x83F3D70E, 0x90A324FA, 0x62C8A7F9, 0xB602C312, 0x44694011, 0x5739B3E5, 0xA55230E6,
+	0xFB410CC2, 0x092A8FC1, 0x1A7A7C35, 0xE811FF36, 0x3CDB9BDD, 0xCEB018DE, 0xDDE0EB2A, 0x2F8B6829,
+	0x82F63B78, 0x709DB87B, 0x63CD4B8F, 0x91A6C88C, 0x456CAC67, 0xB7072F64, 0xA457DC90, 0x563C5F93,
+	0x082F63B7, 0xFA44E0B4, 0xE9141340, 0x1B7F9043, 0xCFB5F4A8, 0x3DDE77AB, 0x2E8E845F, 0xDCE5075C,
+	0x92A8FC17, 0x60C37F14, 0x73938CE0, 0x81F80FE3, 0x55326B08, 0xA759E80B, 0xB4091BFF, 0x466298FC,
+	0x1871A4D8, 0xEA1A27DB, 0xF94AD42F, 0x0B21572C, 0xDFEB33C7, 0x2D80B0C4, 0x3ED04330, 0xCCBBC033,
+	0xA24BB5A6, 0x502036A5, 0x4370C551, 0xB11B4652, 0x65D122B9, 0x97BAA1BA, 0x84EA524E, 0x7681D14D,
+	0x2892ED69, 0xDAF96E6A, 0xC9A99D9E, 0x3BC21E9D, 0xEF087A76, 0x1D63F975, 0x0E330A81, 0xFC588982,
+	0xB21572C9, 0x407EF1CA, 0x532E023E, 0xA145813D, 0x758FE5D6, 0x87E466D5, 0x94B49521, 0x66DF1622,
+	0x38CC2A06, 0xCAA7A905, 0xD9F75AF1, 0x2B9CD9F2, 0xFF56BD19, 0x0D3D3E1A, 0x1E6DCDEE, 0xEC064EED,
+	0xC38D26C4, 0x31E6A5C7, 0x22B65633, 0xD0DDD530, 0x0417B1DB, 0xF67C32D8, 0xE52CC12C, 0x1747422F,
+	0x49547E0B, 0xBB3FFD08, 0xA86F0EFC, 0x5A048DFF, 0x8ECEE914, 0x7CA56A17, 0x6FF599E3, 0x9D9E1AE0,
+	0xD3D3E1AB, 0x21B862A8, 0x32E8915C, 0xC083125F, 0x144976B4, 0xE622F5B7, 0xF5720643, 0x07198540,
+	0x590AB964, 0xAB613A67, 0xB831C993, 0x4A5A4A90, 0x9E902E7B, 0x6CFBAD78, 0x7FAB5E8C, 0x8DC0DD8F,
+	0xE330A81A, 0x115B2B19, 0x020BD8ED, 0xF0605BEE, 0x24AA3F05, 0xD6C1BC06, 0xC5914FF2, 0x37FACCF1,
+	0x69E9F0D5, 0x9B8273D6, 0x88D28022, 0x7AB90321, 0xAE7367CA, 0x5C18E4C9, 0x4F48173D, 0xBD23943E,
+	0xF36E6F75, 0x0105EC76, 0x12551F82, 0xE03E9C81, 0x34F4F86A, 0xC69F7B69, 0xD5CF889D, 0x27A40B9E,
+	0x79B737BA, 0x8BDCB4B9, 0x988C474D, 0x6AE7C44E, 0xBE2DA0A5, 0x4C4623A6, 0x5F16D052, 0xAD7D5351
+};
+
+/*
+ * end of the CRC lookup table crc_tableil8_o32
+ */
+
+
+
+/*
+ * The following CRC lookup table was generated automagically using the
+ * following model parameters:
+ *
+ * Generator Polynomial = ................. 0x1EDC6F41
+ * Generator Polynomial Length = .......... 32 bits
+ * Reflected Bits = ....................... TRUE
+ * Table Generation Offset = .............. 32 bits
+ * Number of Slices = ..................... 8 slices
+ * Slice Lengths = ........................ 8 8 8 8 8 8 8 8
+ * Directory Name = ....................... .\
+ * File Name = ............................ 8x256_tables.c
+ */
+
+static uint32_t sctp_crc_tableil8_o40[256] =
+{
+	0x00000000, 0x13A29877, 0x274530EE, 0x34E7A899, 0x4E8A61DC, 0x5D28F9AB, 0x69CF5132, 0x7A6DC945,
+	0x9D14C3B8, 0x8EB65BCF, 0xBA51F356, 0xA9F36B21, 0xD39EA264, 0xC03C3A13, 0xF4DB928A, 0xE7790AFD,
+	0x3FC5F181, 0x2C6769F6, 0x1880C16F, 0x0B225918, 0x714F905D, 0x62ED082A, 0x560AA0B3, 0x45A838C4,
+	0xA2D13239, 0xB173AA4E, 0x859402D7, 0x96369AA0, 0xEC5B53E5, 0xFFF9CB92, 0xCB1E630B, 0xD8BCFB7C,
+	0x7F8BE302, 0x6C297B75, 0x58CED3EC, 0x4B6C4B9B, 0x310182DE, 0x22A31AA9, 0x1644B230, 0x05E62A47,
+	0xE29F20BA, 0xF13DB8CD, 0xC5DA1054, 0xD6788823, 0xAC154166, 0xBFB7D911, 0x8B507188, 0x98F2E9FF,
+	0x404E1283, 0x53EC8AF4, 0x670B226D, 0x74A9BA1A, 0x0EC4735F, 0x1D66EB28, 0x298143B1, 0x3A23DBC6,
+	0xDD5AD13B, 0xCEF8494C, 0xFA1FE1D5, 0xE9BD79A2, 0x93D0B0E7, 0x80722890, 0xB4958009, 0xA737187E,
+	0xFF17C604, 0xECB55E73, 0xD852F6EA, 0xCBF06E9D, 0xB19DA7D8, 0xA23F3FAF, 0x96D89736, 0x857A0F41,
+	0x620305BC, 0x71A19DCB, 0x45463552, 0x56E4AD25, 0x2C896460, 0x3F2BFC17, 0x0BCC548E, 0x186ECCF9,
+	0xC0D23785, 0xD370AFF2, 0xE797076B, 0xF4359F1C, 0x8E585659, 0x9DFACE2E, 0xA91D66B7, 0xBABFFEC0,
+	0x5DC6F43D, 0x4E646C4A, 0x7A83C4D3, 0x69215CA4, 0x134C95E1, 0x00EE0D96, 0x3409A50F, 0x27AB3D78,
+	0x809C2506, 0x933EBD71, 0xA7D915E8, 0xB47B8D9F, 0xCE1644DA, 0xDDB4DCAD, 0xE9537434, 0xFAF1EC43,
+	0x1D88E6BE, 0x0E2A7EC9, 0x3ACDD650, 0x296F4E27, 0x53028762, 0x40A01F15, 0x7447B78C, 0x67E52FFB,
+	0xBF59D487, 0xACFB4CF0, 0x981CE469, 0x8BBE7C1E, 0xF1D3B55B, 0xE2712D2C, 0xD69685B5, 0xC5341DC2,
+	0x224D173F, 0x31EF8F48, 0x050827D1, 0x16AABFA6, 0x6CC776E3, 0x7F65EE94, 0x4B82460D, 0x5820DE7A,
+	0xFBC3FAF9, 0xE861628E, 0xDC86CA17, 0xCF245260, 0xB5499B25, 0xA6EB0352, 0x920CABCB, 0x81AE33BC,
+	0x66D73941, 0x7575A136, 0x419209AF, 0x523091D8, 0x285D589D, 0x3BFFC0EA, 0x0F186873, 0x1CBAF004,
+	0xC4060B78, 0xD7A4930F, 0xE3433B96, 0xF0E1A3E1, 0x8A8C6AA4, 0x992EF2D3, 0xADC95A4A, 0xBE6BC23D,
+	0x5912C8C0, 0x4AB050B7, 0x7E57F82E, 0x6DF56059, 0x1798A91C, 0x043A316B, 0x30DD99F2, 0x237F0185,
+	0x844819FB, 0x97EA818C, 0xA30D2915, 0xB0AFB162, 0xCAC27827, 0xD960E050, 0xED8748C9, 0xFE25D0BE,
+	0x195CDA43, 0x0AFE4234, 0x3E19EAAD, 0x2DBB72DA, 0x57D6BB9F, 0x447423E8, 0x70938B71, 0x63311306,
+	0xBB8DE87A, 0xA82F700D, 0x9CC8D894, 0x8F6A40E3, 0xF50789A6, 0xE6A511D1, 0xD242B948, 0xC1E0213F,
+	0x26992BC2, 0x353BB3B5, 0x01DC1B2C, 0x127E835B, 0x68134A1E, 0x7BB1D269, 0x4F567AF0, 0x5CF4E287,
+	0x04D43CFD, 0x1776A48A, 0x23910C13, 0x30339464, 0x4A5E5D21, 0x59FCC556, 0x6D1B6DCF, 0x7EB9F5B8,
+	0x99C0FF45, 0x8A626732, 0xBE85CFAB, 0xAD2757DC, 0xD74A9E99, 0xC4E806EE, 0xF00FAE77, 0xE3AD3600,
+	0x3B11CD7C, 0x28B3550B, 0x1C54FD92, 0x0FF665E5, 0x759BACA0, 0x663934D7, 0x52DE9C4E, 0x417C0439,
+	0xA6050EC4, 0xB5A796B3, 0x81403E2A, 0x92E2A65D, 0xE88F6F18, 0xFB2DF76F, 0xCFCA5FF6, 0xDC68C781,
+	0x7B5FDFFF, 0x68FD4788, 0x5C1AEF11, 0x4FB87766, 0x35D5BE23, 0x26772654, 0x12908ECD, 0x013216BA,
+	0xE64B1C47, 0xF5E98430, 0xC10E2CA9, 0xD2ACB4DE, 0xA8C17D9B, 0xBB63E5EC, 0x8F844D75, 0x9C26D502,
+	0x449A2E7E, 0x5738B609, 0x63DF1E90, 0x707D86E7, 0x0A104FA2, 0x19B2D7D5, 0x2D557F4C, 0x3EF7E73B,
+	0xD98EEDC6, 0xCA2C75B1, 0xFECBDD28, 0xED69455F, 0x97048C1A, 0x84A6146D, 0xB041BCF4, 0xA3E32483
+};
+
+/*
+ * end of the CRC lookup table crc_tableil8_o40
+ */
+
+
+
+/*
+ * The following CRC lookup table was generated automagically using the
+ * following model parameters:
+ *
+ * Generator Polynomial = ................. 0x1EDC6F41
+ * Generator Polynomial Length = .......... 32 bits
+ * Reflected Bits = ....................... TRUE
+ * Table Generation Offset = .............. 32 bits
+ * Number of Slices = ..................... 8 slices
+ * Slice Lengths = ........................ 8 8 8 8 8 8 8 8
+ * Directory Name = ....................... .\
+ * File Name = ............................ 8x256_tables.c
+ */
+
+static uint32_t sctp_crc_tableil8_o48[256] =
+{
+	0x00000000, 0xA541927E, 0x4F6F520D, 0xEA2EC073, 0x9EDEA41A, 0x3B9F3664, 0xD1B1F617, 0x74F06469,
+	0x38513EC5, 0x9D10ACBB, 0x773E6CC8, 0xD27FFEB6, 0xA68F9ADF, 0x03CE08A1, 0xE9E0C8D2, 0x4CA15AAC,
+	0x70A27D8A, 0xD5E3EFF4, 0x3FCD2F87, 0x9A8CBDF9, 0xEE7CD990, 0x4B3D4BEE, 0xA1138B9D, 0x045219E3,
+	0x48F3434F, 0xEDB2D131, 0x079C1142, 0xA2DD833C, 0xD62DE755, 0x736C752B, 0x9942B558, 0x3C032726,
+	0xE144FB14, 0x4405696A, 0xAE2BA919, 0x0B6A3B67, 0x7F9A5F0E, 0xDADBCD70, 0x30F50D03, 0x95B49F7D,
+	0xD915C5D1, 0x7C5457AF, 0x967A97DC, 0x333B05A2, 0x47CB61CB, 0xE28AF3B5, 0x08A433C6, 0xADE5A1B8,
+	0x91E6869E, 0x34A714E0, 0xDE89D493, 0x7BC846ED, 0x0F382284, 0xAA79B0FA, 0x40577089, 0xE516E2F7,
+	0xA9B7B85B, 0x0CF62A25, 0xE6D8EA56, 0x43997828, 0x37691C41, 0x92288E3F, 0x78064E4C, 0xDD47DC32,
+	0xC76580D9, 0x622412A7, 0x880AD2D4, 0x2D4B40AA, 0x59BB24C3, 0xFCFAB6BD, 0x16D476CE, 0xB395E4B0,
+	0xFF34BE1C, 0x5A752C62, 0xB05BEC11, 0x151A7E6F, 0x61EA1A06, 0xC4AB8878, 0x2E85480B, 0x8BC4DA75,
+	0xB7C7FD53, 0x12866F2D, 0xF8A8AF5E, 0x5DE93D20, 0x29195949, 0x8C58CB37, 0x66760B44, 0xC337993A,
+	0x8F96C396, 0x2AD751E8, 0xC0F9919B, 0x65B803E5, 0x1148678C, 0xB409F5F2, 0x5E273581, 0xFB66A7FF,
+	0x26217BCD, 0x8360E9B3, 0x694E29C0, 0xCC0FBBBE, 0xB8FFDFD7, 0x1DBE4DA9, 0xF7908DDA, 0x52D11FA4,
+	0x1E704508, 0xBB31D776, 0x511F1705, 0xF45E857B, 0x80AEE112, 0x25EF736C, 0xCFC1B31F, 0x6A802161,
+	0x56830647, 0xF3C29439, 0x19EC544A, 0xBCADC634, 0xC85DA25D, 0x6D1C3023, 0x8732F050, 0x2273622E,
+	0x6ED23882, 0xCB93AAFC, 0x21BD6A8F, 0x84FCF8F1, 0xF00C9C98, 0x554D0EE6, 0xBF63CE95, 0x1A225CEB,
+	0x8B277743, 0x2E66E53D, 0xC448254E, 0x6109B730, 0x15F9D359, 0xB0B84127, 0x5A968154, 0xFFD7132A,
+	0xB3764986, 0x1637DBF8, 0xFC191B8B, 0x595889F5, 0x2DA8ED9C, 0x88E97FE2, 0x62C7BF91, 0xC7862DEF,
+	0xFB850AC9, 0x5EC498B7, 0xB4EA58C4, 0x11ABCABA, 0x655BAED3, 0xC01A3CAD, 0x2A34FCDE, 0x8F756EA0,
+	0xC3D4340C, 0x6695A672, 0x8CBB6601, 0x29FAF47F, 0x5D0A9016, 0xF84B0268, 0x1265C21B, 0xB7245065,
+	0x6A638C57, 0xCF221E29, 0x250CDE5A, 0x804D4C24, 0xF4BD284D, 0x51FCBA33, 0xBBD27A40, 0x1E93E83E,
+	0x5232B292, 0xF77320EC, 0x1D5DE09F, 0xB81C72E1, 0xCCEC1688, 0x69AD84F6, 0x83834485, 0x26C2D6FB,
+	0x1AC1F1DD, 0xBF8063A3, 0x55AEA3D0, 0xF0EF31AE, 0x841F55C7, 0x215EC7B9, 0xCB7007CA, 0x6E3195B4,
+	0x2290CF18, 0x87D15D66, 0x6DFF9D15, 0xC8BE0F6B, 0xBC4E6B02, 0x190FF97C, 0xF321390F, 0x5660AB71,
+	0x4C42F79A, 0xE90365E4, 0x032DA597, 0xA66C37E9, 0xD29C5380, 0x77DDC1FE, 0x9DF3018D, 0x38B293F3,
+	0x7413C95F, 0xD1525B21, 0x3B7C9B52, 0x9E3D092C, 0xEACD6D45, 0x4F8CFF3B, 0xA5A23F48, 0x00E3AD36,
+	0x3CE08A10, 0x99A1186E, 0x738FD81D, 0xD6CE4A63, 0xA23E2E0A, 0x077FBC74, 0xED517C07, 0x4810EE79,
+	0x04B1B4D5, 0xA1F026AB, 0x4BDEE6D8, 0xEE9F74A6, 0x9A6F10CF, 0x3F2E82B1, 0xD50042C2, 0x7041D0BC,
+	0xAD060C8E, 0x08479EF0, 0xE2695E83, 0x4728CCFD, 0x33D8A894, 0x96993AEA, 0x7CB7FA99, 0xD9F668E7,
+	0x9557324B, 0x3016A035, 0xDA386046, 0x7F79F238, 0x0B899651, 0xAEC8042F, 0x44E6C45C, 0xE1A75622,
+	0xDDA47104, 0x78E5E37A, 0x92CB2309, 0x378AB177, 0x437AD51E, 0xE63B4760, 0x0C158713, 0xA954156D,
+	0xE5F54FC1, 0x40B4DDBF, 0xAA9A1DCC, 0x0FDB8FB2, 0x7B2BEBDB, 0xDE6A79A5, 0x3444B9D6, 0x91052BA8
+};
+
+/*
+ * end of the CRC lookup table crc_tableil8_o48
+ */
+
+
+
+/*
+ * The following CRC lookup table was generated automagically using the
+ * following model parameters:
+ *
+ * Generator Polynomial = ................. 0x1EDC6F41
+ * Generator Polynomial Length = .......... 32 bits
+ * Reflected Bits = ....................... TRUE
+ * Table Generation Offset = .............. 32 bits
+ * Number of Slices = ..................... 8 slices
+ * Slice Lengths = ........................ 8 8 8 8 8 8 8 8
+ * Directory Name = ....................... .\
+ * File Name = ............................ 8x256_tables.c
+ */
+
+static uint32_t sctp_crc_tableil8_o56[256] =
+{
+	0x00000000, 0xDD45AAB8, 0xBF672381, 0x62228939, 0x7B2231F3, 0xA6679B4B, 0xC4451272, 0x1900B8CA,
+	0xF64463E6, 0x2B01C95E, 0x49234067, 0x9466EADF, 0x8D665215, 0x5023F8AD, 0x32017194, 0xEF44DB2C,
+	0xE964B13D, 0x34211B85, 0x560392BC, 0x8B463804, 0x924680CE, 0x4F032A76, 0x2D21A34F, 0xF06409F7,
+	0x1F20D2DB, 0xC2657863, 0xA047F15A, 0x7D025BE2, 0x6402E328, 0xB9474990, 0xDB65C0A9, 0x06206A11,
+	0xD725148B, 0x0A60BE33, 0x6842370A, 0xB5079DB2, 0xAC072578, 0x71428FC0, 0x136006F9, 0xCE25AC41,
+	0x2161776D, 0xFC24DDD5, 0x9E0654EC, 0x4343FE54, 0x5A43469E, 0x8706EC26, 0xE524651F, 0x3861CFA7,
+	0x3E41A5B6, 0xE3040F0E, 0x81268637, 0x5C632C8F, 0x45639445, 0x98263EFD, 0xFA04B7C4, 0x27411D7C,
+	0xC805C650, 0x15406CE8, 0x7762E5D1, 0xAA274F69, 0xB327F7A3, 0x6E625D1B, 0x0C40D422, 0xD1057E9A,
+	0xABA65FE7, 0x76E3F55F, 0x14C17C66, 0xC984D6DE, 0xD0846E14, 0x0DC1C4AC, 0x6FE34D95, 0xB2A6E72D,
+	0x5DE23C01, 0x80A796B9, 0xE2851F80, 0x3FC0B538, 0x26C00DF2, 0xFB85A74A, 0x99A72E73, 0x44E284CB,
+	0x42C2EEDA, 0x9F874462, 0xFDA5CD5B, 0x20E067E3, 0x39E0DF29, 0xE4A57591, 0x8687FCA8, 0x5BC25610,
+	0xB4868D3C, 0x69C32784, 0x0BE1AEBD, 0xD6A40405, 0xCFA4BCCF, 0x12E11677, 0x70C39F4E, 0xAD8635F6,
+	0x7C834B6C, 0xA1C6E1D4, 0xC3E468ED, 0x1EA1C255, 0x07A17A9F, 0xDAE4D027, 0xB8C6591E, 0x6583F3A6,
+	0x8AC7288A, 0x57828232, 0x35A00B0B, 0xE8E5A1B3, 0xF1E51979, 0x2CA0B3C1, 0x4E823AF8, 0x93C79040,
+	0x95E7FA51, 0x48A250E9, 0x2A80D9D0, 0xF7C57368, 0xEEC5CBA2, 0x3380611A, 0x51A2E823, 0x8CE7429B,
+	0x63A399B7, 0xBEE6330F, 0xDCC4BA36, 0x0181108E, 0x1881A844, 0xC5C402FC, 0xA7E68BC5, 0x7AA3217D,
+	0x52A0C93F, 0x8FE56387, 0xEDC7EABE, 0x30824006, 0x2982F8CC, 0xF4C75274, 0x96E5DB4D, 0x4BA071F5,
+	0xA4E4AAD9, 0x79A10061, 0x1B838958, 0xC6C623E0, 0xDFC69B2A, 0x02833192, 0x60A1B8AB, 0xBDE41213,
+	0xBBC47802, 0x6681D2BA, 0x04A35B83, 0xD9E6F13B, 0xC0E649F1, 0x1DA3E349, 0x7F816A70, 0xA2C4C0C8,
+	0x4D801BE4, 0x90C5B15C, 0xF2E73865, 0x2FA292DD, 0x36A22A17, 0xEBE780AF, 0x89C50996, 0x5480A32E,
+	0x8585DDB4, 0x58C0770C, 0x3AE2FE35, 0xE7A7548D, 0xFEA7EC47, 0x23E246FF, 0x41C0CFC6, 0x9C85657E,
+	0x73C1BE52, 0xAE8414EA, 0xCCA69DD3, 0x11E3376B, 0x08E38FA1, 0xD5A62519, 0xB784AC20, 0x6AC10698,
+	0x6CE16C89, 0xB1A4C631, 0xD3864F08, 0x0EC3E5B0, 0x17C35D7A, 0xCA86F7C2, 0xA8A47EFB, 0x75E1D443,
+	0x9AA50F6F, 0x47E0A5D7, 0x25C22CEE, 0xF8878656, 0xE1873E9C, 0x3CC29424, 0x5EE01D1D, 0x83A5B7A5,
+	0xF90696D8, 0x24433C60, 0x4661B559, 0x9B241FE1, 0x8224A72B, 0x5F610D93, 0x3D4384AA, 0xE0062E12,
+	0x0F42F53E, 0xD2075F86, 0xB025D6BF, 0x6D607C07, 0x7460C4CD, 0xA9256E75, 0xCB07E74C, 0x16424DF4,
+	0x106227E5, 0xCD278D5D, 0xAF050464, 0x7240AEDC, 0x6B401616, 0xB605BCAE, 0xD4273597, 0x09629F2F,
+	0xE6264403, 0x3B63EEBB, 0x59416782, 0x8404CD3A, 0x9D0475F0, 0x4041DF48, 0x22635671, 0xFF26FCC9,
+	0x2E238253, 0xF36628EB, 0x9144A1D2, 0x4C010B6A, 0x5501B3A0, 0x88441918, 0xEA669021, 0x37233A99,
+	0xD867E1B5, 0x05224B0D, 0x6700C234, 0xBA45688C, 0xA345D046, 0x7E007AFE, 0x1C22F3C7, 0xC167597F,
+	0xC747336E, 0x1A0299D6, 0x782010EF, 0xA565BA57, 0xBC65029D, 0x6120A825, 0x0302211C, 0xDE478BA4,
+	0x31035088, 0xEC46FA30, 0x8E647309, 0x5321D9B1, 0x4A21617B, 0x9764CBC3, 0xF54642FA, 0x2803E842
+};
+
+/*
+ * end of the CRC lookup table crc_tableil8_o56
+ */
+
+
+
+/*
+ * The following CRC lookup table was generated automagically using the
+ * following model parameters:
+ *
+ * Generator Polynomial = ................. 0x1EDC6F41
+ * Generator Polynomial Length = .......... 32 bits
+ * Reflected Bits = ....................... TRUE
+ * Table Generation Offset = .............. 32 bits
+ * Number of Slices = ..................... 8 slices
+ * Slice Lengths = ........................ 8 8 8 8 8 8 8 8
+ * Directory Name = ....................... .\
+ * File Name = ............................ 8x256_tables.c
+ */
+
+static uint32_t sctp_crc_tableil8_o64[256] =
+{
+	0x00000000, 0x38116FAC, 0x7022DF58, 0x4833B0F4, 0xE045BEB0, 0xD854D11C, 0x906761E8, 0xA8760E44,
+	0xC5670B91, 0xFD76643D, 0xB545D4C9, 0x8D54BB65, 0x2522B521, 0x1D33DA8D, 0x55006A79, 0x6D1105D5,
+	0x8F2261D3, 0xB7330E7F, 0xFF00BE8B, 0xC711D127, 0x6F67DF63, 0x5776B0CF, 0x1F45003B, 0x27546F97,
+	0x4A456A42, 0x725405EE, 0x3A67B51A, 0x0276DAB6, 0xAA00D4F2, 0x9211BB5E, 0xDA220BAA, 0xE2336406,
+	0x1BA8B557, 0x23B9DAFB, 0x6B8A6A0F, 0x539B05A3, 0xFBED0BE7, 0xC3FC644B, 0x8BCFD4BF, 0xB3DEBB13,
+	0xDECFBEC6, 0xE6DED16A, 0xAEED619E, 0x96FC0E32, 0x3E8A0076, 0x069B6FDA, 0x4EA8DF2E, 0x76B9B082,
+	0x948AD484, 0xAC9BBB28, 0xE4A80BDC, 0xDCB96470, 0x74CF6A34, 0x4CDE0598, 0x04EDB56C, 0x3CFCDAC0,
+	0x51EDDF15, 0x69FCB0B9, 0x21CF004D, 0x19DE6FE1, 0xB1A861A5, 0x89B90E09, 0xC18ABEFD, 0xF99BD151,
+	0x37516AAE, 0x0F400502, 0x4773B5F6, 0x7F62DA5A, 0xD714D41E, 0xEF05BBB2, 0xA7360B46, 0x9F2764EA,
+	0xF236613F, 0xCA270E93, 0x8214BE67, 0xBA05D1CB, 0x1273DF8F, 0x2A62B023, 0x625100D7, 0x5A406F7B,
+	0xB8730B7D, 0x806264D1, 0xC851D425, 0xF040BB89, 0x5836B5CD, 0x6027DA61, 0x28146A95, 0x10050539,
+	0x7D1400EC, 0x45056F40, 0x0D36DFB4, 0x3527B018, 0x9D51BE5C, 0xA540D1F0, 0xED736104, 0xD5620EA8,
+	0x2CF9DFF9, 0x14E8B055, 0x5CDB00A1, 0x64CA6F0D, 0xCCBC6149, 0xF4AD0EE5, 0xBC9EBE11, 0x848FD1BD,
+	0xE99ED468, 0xD18FBBC4, 0x99BC0B30, 0xA1AD649C, 0x09DB6AD8, 0x31CA0574, 0x79F9B580, 0x41E8DA2C,
+	0xA3DBBE2A, 0x9BCAD186, 0xD3F96172, 0xEBE80EDE, 0x439E009A, 0x7B8F6F36, 0x33BCDFC2, 0x0BADB06E,
+	0x66BCB5BB, 0x5EADDA17, 0x169E6AE3, 0x2E8F054F, 0x86F90B0B, 0xBEE864A7, 0xF6DBD453, 0xCECABBFF,
+	0x6EA2D55C, 0x56B3BAF0, 0x1E800A04, 0x269165A8, 0x8EE76BEC, 0xB6F60440, 0xFEC5B4B4, 0xC6D4DB18,
+	0xABC5DECD, 0x93D4B161, 0xDBE70195, 0xE3F66E39, 0x4B80607D, 0x73910FD1, 0x3BA2BF25, 0x03B3D089,
+	0xE180B48F, 0xD991DB23, 0x91A26BD7, 0xA9B3047B, 0x01C50A3F, 0x39D46593, 0x71E7D567, 0x49F6BACB,
+	0x24E7BF1E, 0x1CF6D0B2, 0x54C56046, 0x6CD40FEA, 0xC4A201AE, 0xFCB36E02, 0xB480DEF6, 0x8C91B15A,
+	0x750A600B, 0x4D1B0FA7, 0x0528BF53, 0x3D39D0FF, 0x954FDEBB, 0xAD5EB117, 0xE56D01E3, 0xDD7C6E4F,
+	0xB06D6B9A, 0x887C0436, 0xC04FB4C2, 0xF85EDB6E, 0x5028D52A, 0x6839BA86, 0x200A0A72, 0x181B65DE,
+	0xFA2801D8, 0xC2396E74, 0x8A0ADE80, 0xB21BB12C, 0x1A6DBF68, 0x227CD0C4, 0x6A4F6030, 0x525E0F9C,
+	0x3F4F0A49, 0x075E65E5, 0x4F6DD511, 0x777CBABD, 0xDF0AB4F9, 0xE71BDB55, 0xAF286BA1, 0x9739040D,
+	0x59F3BFF2, 0x61E2D05E, 0x29D160AA, 0x11C00F06, 0xB9B60142, 0x81A76EEE, 0xC994DE1A, 0xF185B1B6,
+	0x9C94B463, 0xA485DBCF, 0xECB66B3B, 0xD4A70497, 0x7CD10AD3, 0x44C0657F, 0x0CF3D58B, 0x34E2BA27,
+	0xD6D1DE21, 0xEEC0B18D, 0xA6F30179, 0x9EE26ED5, 0x36946091, 0x0E850F3D, 0x46B6BFC9, 0x7EA7D065,
+	0x13B6D5B0, 0x2BA7BA1C, 0x63940AE8, 0x5B856544, 0xF3F36B00, 0xCBE204AC, 0x83D1B458, 0xBBC0DBF4,
+	0x425B0AA5, 0x7A4A6509, 0x3279D5FD, 0x0A68BA51, 0xA21EB415, 0x9A0FDBB9, 0xD23C6B4D, 0xEA2D04E1,
+	0x873C0134, 0xBF2D6E98, 0xF71EDE6C, 0xCF0FB1C0, 0x6779BF84, 0x5F68D028, 0x175B60DC, 0x2F4A0F70,
+	0xCD796B76, 0xF56804DA, 0xBD5BB42E, 0x854ADB82, 0x2D3CD5C6, 0x152DBA6A, 0x5D1E0A9E, 0x650F6532,
+	0x081E60E7, 0x300F0F4B, 0x783CBFBF, 0x402DD013, 0xE85BDE57, 0xD04AB1FB, 0x9879010F, 0xA0686EA3
+};
+
+/*
+ * end of the CRC lookup table crc_tableil8_o64
+ */
+
+
+
+/*
+ * The following CRC lookup table was generated automagically using the
+ * following model parameters:
+ *
+ * Generator Polynomial = ................. 0x1EDC6F41
+ * Generator Polynomial Length = .......... 32 bits
+ * Reflected Bits = ....................... TRUE
+ * Table Generation Offset = .............. 32 bits
+ * Number of Slices = ..................... 8 slices
+ * Slice Lengths = ........................ 8 8 8 8 8 8 8 8
+ * Directory Name = ....................... .\
+ * File Name = ............................ 8x256_tables.c
+ */
+
+static uint32_t sctp_crc_tableil8_o72[256] =
+{
+	0x00000000, 0xEF306B19, 0xDB8CA0C3, 0x34BCCBDA, 0xB2F53777, 0x5DC55C6E, 0x697997B4, 0x8649FCAD,
+	0x6006181F, 0x8F367306, 0xBB8AB8DC, 0x54BAD3C5, 0xD2F32F68, 0x3DC34471, 0x097F8FAB, 0xE64FE4B2,
+	0xC00C303E, 0x2F3C5B27, 0x1B8090FD, 0xF4B0FBE4, 0x72F90749, 0x9DC96C50, 0xA975A78A, 0x4645CC93,
+	0xA00A2821, 0x4F3A4338, 0x7B8688E2, 0x94B6E3FB, 0x12FF1F56, 0xFDCF744F, 0xC973BF95, 0x2643D48C,
+	0x85F4168D, 0x6AC47D94, 0x5E78B64E, 0xB148DD57, 0x370121FA, 0xD8314AE3, 0xEC8D8139, 0x03BDEA20,
+	0xE5F20E92, 0x0AC2658B, 0x3E7EAE51, 0xD14EC548, 0x570739E5, 0xB83752FC, 0x8C8B9926, 0x63BBF23F,
+	0x45F826B3, 0xAAC84DAA, 0x9E748670, 0x7144ED69, 0xF70D11C4, 0x183D7ADD, 0x2C81B107, 0xC3B1DA1E,
+	0x25FE3EAC, 0xCACE55B5, 0xFE729E6F, 0x1142F576, 0x970B09DB, 0x783B62C2, 0x4C87A918, 0xA3B7C201,
+	0x0E045BEB, 0xE13430F2, 0xD588FB28, 0x3AB89031, 0xBCF16C9C, 0x53C10785, 0x677DCC5F, 0x884DA746,
+	0x6E0243F4, 0x813228ED, 0xB58EE337, 0x5ABE882E, 0xDCF77483, 0x33C71F9A, 0x077BD440, 0xE84BBF59,
+	0xCE086BD5, 0x213800CC, 0x1584CB16, 0xFAB4A00F, 0x7CFD5CA2, 0x93CD37BB, 0xA771FC61, 0x48419778,
+	0xAE0E73CA, 0x413E18D3, 0x7582D309, 0x9AB2B810, 0x1CFB44BD, 0xF3CB2FA4, 0xC777E47E, 0x28478F67,
+	0x8BF04D66, 0x64C0267F, 0x507CEDA5, 0xBF4C86BC, 0x39057A11, 0xD6351108, 0xE289DAD2, 0x0DB9B1CB,
+	0xEBF65579, 0x04C63E60, 0x307AF5BA, 0xDF4A9EA3, 0x5903620E, 0xB6330917, 0x828FC2CD, 0x6DBFA9D4,
+	0x4BFC7D58, 0xA4CC1641, 0x9070DD9B, 0x7F40B682, 0xF9094A2F, 0x16392136, 0x2285EAEC, 0xCDB581F5,
+	0x2BFA6547, 0xC4CA0E5E, 0xF076C584, 0x1F46AE9D, 0x990F5230, 0x763F3929, 0x4283F2F3, 0xADB399EA,
+	0x1C08B7D6, 0xF338DCCF, 0xC7841715, 0x28B47C0C, 0xAEFD80A1, 0x41CDEBB8, 0x75712062, 0x9A414B7B,
+	0x7C0EAFC9, 0x933EC4D0, 0xA7820F0A, 0x48B26413, 0xCEFB98BE, 0x21CBF3A7, 0x1577387D, 0xFA475364,
+	0xDC0487E8, 0x3334ECF1, 0x0788272B, 0xE8B84C32, 0x6EF1B09F, 0x81C1DB86, 0xB57D105C, 0x5A4D7B45,
+	0xBC029FF7, 0x5332F4EE, 0x678E3F34, 0x88BE542D, 0x0EF7A880, 0xE1C7C399, 0xD57B0843, 0x3A4B635A,
+	0x99FCA15B, 0x76CCCA42, 0x42700198, 0xAD406A81, 0x2B09962C, 0xC439FD35, 0xF08536EF, 0x1FB55DF6,
+	0xF9FAB944, 0x16CAD25D, 0x22761987, 0xCD46729E, 0x4B0F8E33, 0xA43FE52A, 0x90832EF0, 0x7FB345E9,
+	0x59F09165, 0xB6C0FA7C, 0x827C31A6, 0x6D4C5ABF, 0xEB05A612, 0x0435CD0B, 0x308906D1, 0xDFB96DC8,
+	0x39F6897A, 0xD6C6E263, 0xE27A29B9, 0x0D4A42A0, 0x8B03BE0D, 0x6433D514, 0x508F1ECE, 0xBFBF75D7,
+	0x120CEC3D, 0xFD3C8724, 0xC9804CFE, 0x26B027E7, 0xA0F9DB4A, 0x4FC9B053, 0x7B757B89, 0x94451090,
+	0x720AF422, 0x9D3A9F3B, 0xA98654E1, 0x46B63FF8, 0xC0FFC355, 0x2FCFA84C, 0x1B736396, 0xF443088F,
+	0xD200DC03, 0x3D30B71A, 0x098C7CC0, 0xE6BC17D9, 0x60F5EB74, 0x8FC5806D, 0xBB794BB7, 0x544920AE,
+	0xB206C41C, 0x5D36AF05, 0x698A64DF, 0x86BA0FC6, 0x00F3F36B, 0xEFC39872, 0xDB7F53A8, 0x344F38B1,
+	0x97F8FAB0, 0x78C891A9, 0x4C745A73, 0xA344316A, 0x250DCDC7, 0xCA3DA6DE, 0xFE816D04, 0x11B1061D,
+	0xF7FEE2AF, 0x18CE89B6, 0x2C72426C, 0xC3422975, 0x450BD5D8, 0xAA3BBEC1, 0x9E87751B, 0x71B71E02,
+	0x57F4CA8E, 0xB8C4A197, 0x8C786A4D, 0x63480154, 0xE501FDF9, 0x0A3196E0, 0x3E8D5D3A, 0xD1BD3623,
+	0x37F2D291, 0xD8C2B988, 0xEC7E7252, 0x034E194B, 0x8507E5E6, 0x6A378EFF, 0x5E8B4525, 0xB1BB2E3C
+};
+
+/*
+ * end of the CRC lookup table crc_tableil8_o72
+ */
+
+
+
+/*
+ * The following CRC lookup table was generated automagically using the
+ * following model parameters:
+ *
+ * Generator Polynomial = ................. 0x1EDC6F41
+ * Generator Polynomial Length = .......... 32 bits
+ * Reflected Bits = ....................... TRUE
+ * Table Generation Offset = .............. 32 bits
+ * Number of Slices = ..................... 8 slices
+ * Slice Lengths = ........................ 8 8 8 8 8 8 8 8
+ * Directory Name = ....................... .\
+ * File Name = ............................ 8x256_tables.c
+ */
+
+static uint32_t sctp_crc_tableil8_o80[256] =
+{
+	0x00000000, 0x68032CC8, 0xD0065990, 0xB8057558, 0xA5E0C5D1, 0xCDE3E919, 0x75E69C41, 0x1DE5B089,
+	0x4E2DFD53, 0x262ED19B, 0x9E2BA4C3, 0xF628880B, 0xEBCD3882, 0x83CE144A, 0x3BCB6112, 0x53C84DDA,
+	0x9C5BFAA6, 0xF458D66E, 0x4C5DA336, 0x245E8FFE, 0x39BB3F77, 0x51B813BF, 0xE9BD66E7, 0x81BE4A2F,
+	0xD27607F5, 0xBA752B3D, 0x02705E65, 0x6A7372AD, 0x7796C224, 0x1F95EEEC, 0xA7909BB4, 0xCF93B77C,
+	0x3D5B83BD, 0x5558AF75, 0xED5DDA2D, 0x855EF6E5, 0x98BB466C, 0xF0B86AA4, 0x48BD1FFC, 0x20BE3334,
+	0x73767EEE, 0x1B755226, 0xA370277E, 0xCB730BB6, 0xD696BB3F, 0xBE9597F7, 0x0690E2AF, 0x6E93CE67,
+	0xA100791B, 0xC90355D3, 0x7106208B, 0x19050C43, 0x04E0BCCA, 0x6CE39002, 0xD4E6E55A, 0xBCE5C992,
+	0xEF2D8448, 0x872EA880, 0x3F2BDDD8, 0x5728F110, 0x4ACD4199, 0x22CE6D51, 0x9ACB1809, 0xF2C834C1,
+	0x7AB7077A, 0x12B42BB2, 0xAAB15EEA, 0xC2B27222, 0xDF57C2AB, 0xB754EE63, 0x0F519B3B, 0x6752B7F3,
+	0x349AFA29, 0x5C99D6E1, 0xE49CA3B9, 0x8C9F8F71, 0x917A3FF8, 0xF9791330, 0x417C6668, 0x297F4AA0,
+	0xE6ECFDDC, 0x8EEFD114, 0x36EAA44C, 0x5EE98884, 0x430C380D, 0x2B0F14C5, 0x930A619D, 0xFB094D55,
+	0xA8C1008F, 0xC0C22C47, 0x78C7591F, 0x10C475D7, 0x0D21C55E, 0x6522E996, 0xDD279CCE, 0xB524B006,
+	0x47EC84C7, 0x2FEFA80F, 0x97EADD57, 0xFFE9F19F, 0xE20C4116, 0x8A0F6DDE, 0x320A1886, 0x5A09344E,
+	0x09C17994, 0x61C2555C, 0xD9C72004, 0xB1C40CCC, 0xAC21BC45, 0xC422908D, 0x7C27E5D5, 0x1424C91D,
+	0xDBB77E61, 0xB3B452A9, 0x0BB127F1, 0x63B20B39, 0x7E57BBB0, 0x16549778, 0xAE51E220, 0xC652CEE8,
+	0x959A8332, 0xFD99AFFA, 0x459CDAA2, 0x2D9FF66A, 0x307A46E3, 0x58796A2B, 0xE07C1F73, 0x887F33BB,
+	0xF56E0EF4, 0x9D6D223C, 0x25685764, 0x4D6B7BAC, 0x508ECB25, 0x388DE7ED, 0x808892B5, 0xE88BBE7D,
+	0xBB43F3A7, 0xD340DF6F, 0x6B45AA37, 0x034686FF, 0x1EA33676, 0x76A01ABE, 0xCEA56FE6, 0xA6A6432E,
+	0x6935F452, 0x0136D89A, 0xB933ADC2, 0xD130810A, 0xCCD53183, 0xA4D61D4B, 0x1CD36813, 0x74D044DB,
+	0x27180901, 0x4F1B25C9, 0xF71E5091, 0x9F1D7C59, 0x82F8CCD0, 0xEAFBE018, 0x52FE9540, 0x3AFDB988,
+	0xC8358D49, 0xA036A181, 0x1833D4D9, 0x7030F811, 0x6DD54898, 0x05D66450, 0xBDD31108, 0xD5D03DC0,
+	0x8618701A, 0xEE1B5CD2, 0x561E298A, 0x3E1D0542, 0x23F8B5CB, 0x4BFB9903, 0xF3FEEC5B, 0x9BFDC093,
+	0x546E77EF, 0x3C6D5B27, 0x84682E7F, 0xEC6B02B7, 0xF18EB23E, 0x998D9EF6, 0x2188EBAE, 0x498BC766,
+	0x1A438ABC, 0x7240A674, 0xCA45D32C, 0xA246FFE4, 0xBFA34F6D, 0xD7A063A5, 0x6FA516FD, 0x07A63A35,
+	0x8FD9098E, 0xE7DA2546, 0x5FDF501E, 0x37DC7CD6, 0x2A39CC5F, 0x423AE097, 0xFA3F95CF, 0x923CB907,
+	0xC1F4F4DD, 0xA9F7D815, 0x11F2AD4D, 0x79F18185, 0x6414310C, 0x0C171DC4, 0xB412689C, 0xDC114454,
+	0x1382F328, 0x7B81DFE0, 0xC384AAB8, 0xAB878670, 0xB66236F9, 0xDE611A31, 0x66646F69, 0x0E6743A1,
+	0x5DAF0E7B, 0x35AC22B3, 0x8DA957EB, 0xE5AA7B23, 0xF84FCBAA, 0x904CE762, 0x2849923A, 0x404ABEF2,
+	0xB2828A33, 0xDA81A6FB, 0x6284D3A3, 0x0A87FF6B, 0x17624FE2, 0x7F61632A, 0xC7641672, 0xAF673ABA,
+	0xFCAF7760, 0x94AC5BA8, 0x2CA92EF0, 0x44AA0238, 0x594FB2B1, 0x314C9E79, 0x8949EB21, 0xE14AC7E9,
+	0x2ED97095, 0x46DA5C5D, 0xFEDF2905, 0x96DC05CD, 0x8B39B544, 0xE33A998C, 0x5B3FECD4, 0x333CC01C,
+	0x60F48DC6, 0x08F7A10E, 0xB0F2D456, 0xD8F1F89E, 0xC5144817, 0xAD1764DF, 0x15121187, 0x7D113D4F
+};
+
+/*
+ * end of the CRC lookup table crc_tableil8_o80
+ */
+
+
+
+/*
+ * The following CRC lookup table was generated automagically using the
+ * following model parameters:
+ *
+ * Generator Polynomial = ................. 0x1EDC6F41
+ * Generator Polynomial Length = .......... 32 bits
+ * Reflected Bits = ....................... TRUE
+ * Table Generation Offset = .............. 32 bits
+ * Number of Slices = ..................... 8 slices
+ * Slice Lengths = ........................ 8 8 8 8 8 8 8 8
+ * Directory Name = ....................... .\
+ * File Name = ............................ 8x256_tables.c
+ */
+
+static uint32_t sctp_crc_tableil8_o88[256] =
+{
+	0x00000000, 0x493C7D27, 0x9278FA4E, 0xDB448769, 0x211D826D, 0x6821FF4A, 0xB3657823, 0xFA590504,
+	0x423B04DA, 0x0B0779FD, 0xD043FE94, 0x997F83B3, 0x632686B7, 0x2A1AFB90, 0xF15E7CF9, 0xB86201DE,
+	0x847609B4, 0xCD4A7493, 0x160EF3FA, 0x5F328EDD, 0xA56B8BD9, 0xEC57F6FE, 0x37137197, 0x7E2F0CB0,
+	0xC64D0D6E, 0x8F717049, 0x5435F720, 0x1D098A07, 0xE7508F03, 0xAE6CF224, 0x7528754D, 0x3C14086A,
+	0x0D006599, 0x443C18BE, 0x9F789FD7, 0xD644E2F0, 0x2C1DE7F4, 0x65219AD3, 0xBE651DBA, 0xF759609D,
+	0x4F3B6143, 0x06071C64, 0xDD439B0D, 0x947FE62A, 0x6E26E32E, 0x271A9E09, 0xFC5E1960, 0xB5626447,
+	0x89766C2D, 0xC04A110A, 0x1B0E9663, 0x5232EB44, 0xA86BEE40, 0xE1579367, 0x3A13140E, 0x732F6929,
+	0xCB4D68F7, 0x827115D0, 0x593592B9, 0x1009EF9E, 0xEA50EA9A, 0xA36C97BD, 0x782810D4, 0x31146DF3,
+	0x1A00CB32, 0x533CB615, 0x8878317C, 0xC1444C5B, 0x3B1D495F, 0x72213478, 0xA965B311, 0xE059CE36,
+	0x583BCFE8, 0x1107B2CF, 0xCA4335A6, 0x837F4881, 0x79264D85, 0x301A30A2, 0xEB5EB7CB, 0xA262CAEC,
+	0x9E76C286, 0xD74ABFA1, 0x0C0E38C8, 0x453245EF, 0xBF6B40EB, 0xF6573DCC, 0x2D13BAA5, 0x642FC782,
+	0xDC4DC65C, 0x9571BB7B, 0x4E353C12, 0x07094135, 0xFD504431, 0xB46C3916, 0x6F28BE7F, 0x2614C358,
+	0x1700AEAB, 0x5E3CD38C, 0x857854E5, 0xCC4429C2, 0x361D2CC6, 0x7F2151E1, 0xA465D688, 0xED59ABAF,
+	0x553BAA71, 0x1C07D756, 0xC743503F, 0x8E7F2D18, 0x7426281C, 0x3D1A553B, 0xE65ED252, 0xAF62AF75,
+	0x9376A71F, 0xDA4ADA38, 0x010E5D51, 0x48322076, 0xB26B2572, 0xFB575855, 0x2013DF3C, 0x692FA21B,
+	0xD14DA3C5, 0x9871DEE2, 0x4335598B, 0x0A0924AC, 0xF05021A8, 0xB96C5C8F, 0x6228DBE6, 0x2B14A6C1,
+	0x34019664, 0x7D3DEB43, 0xA6796C2A, 0xEF45110D, 0x151C1409, 0x5C20692E, 0x8764EE47, 0xCE589360,
+	0x763A92BE, 0x3F06EF99, 0xE44268F0, 0xAD7E15D7, 0x572710D3, 0x1E1B6DF4, 0xC55FEA9D, 0x8C6397BA,
+	0xB0779FD0, 0xF94BE2F7, 0x220F659E, 0x6B3318B9, 0x916A1DBD, 0xD856609A, 0x0312E7F3, 0x4A2E9AD4,
+	0xF24C9B0A, 0xBB70E62D, 0x60346144, 0x29081C63, 0xD3511967, 0x9A6D6440, 0x4129E329, 0x08159E0E,
+	0x3901F3FD, 0x703D8EDA, 0xAB7909B3, 0xE2457494, 0x181C7190, 0x51200CB7, 0x8A648BDE, 0xC358F6F9,
+	0x7B3AF727, 0x32068A00, 0xE9420D69, 0xA07E704E, 0x5A27754A, 0x131B086D, 0xC85F8F04, 0x8163F223,
+	0xBD77FA49, 0xF44B876E, 0x2F0F0007, 0x66337D20, 0x9C6A7824, 0xD5560503, 0x0E12826A, 0x472EFF4D,
+	0xFF4CFE93, 0xB67083B4, 0x6D3404DD, 0x240879FA, 0xDE517CFE, 0x976D01D9, 0x4C2986B0, 0x0515FB97,
+	0x2E015D56, 0x673D2071, 0xBC79A718, 0xF545DA3F, 0x0F1CDF3B, 0x4620A21C, 0x9D642575, 0xD4585852,
+	0x6C3A598C, 0x250624AB, 0xFE42A3C2, 0xB77EDEE5, 0x4D27DBE1, 0x041BA6C6, 0xDF5F21AF, 0x96635C88,
+	0xAA7754E2, 0xE34B29C5, 0x380FAEAC, 0x7133D38B, 0x8B6AD68F, 0xC256ABA8, 0x19122CC1, 0x502E51E6,
+	0xE84C5038, 0xA1702D1F, 0x7A34AA76, 0x3308D751, 0xC951D255, 0x806DAF72, 0x5B29281B, 0x1215553C,
+	0x230138CF, 0x6A3D45E8, 0xB179C281, 0xF845BFA6, 0x021CBAA2, 0x4B20C785, 0x906440EC, 0xD9583DCB,
+	0x613A3C15, 0x28064132, 0xF342C65B, 0xBA7EBB7C, 0x4027BE78, 0x091BC35F, 0xD25F4436, 0x9B633911,
+	0xA777317B, 0xEE4B4C5C, 0x350FCB35, 0x7C33B612, 0x866AB316, 0xCF56CE31, 0x14124958, 0x5D2E347F,
+	0xE54C35A1, 0xAC704886, 0x7734CFEF, 0x3E08B2C8, 0xC451B7CC, 0x8D6DCAEB, 0x56294D82, 0x1F1530A5
+};
+
+/*
+ * end of the CRC lookup table crc_tableil8_o88
+ */
+
+
+static uint32_t
+crc32c_sb8_64_bit(uint32_t crc,
+    const unsigned char *p_buf,
+    uint32_t length,
+    uint32_t init_bytes)
+{
+	uint32_t li;
+	uint32_t term1, term2;
+	uint32_t running_length;
+	uint32_t end_bytes;
+
+	running_length = ((length - init_bytes) / 8) * 8;
+	end_bytes = length - init_bytes - running_length;
+
+	for (li = 0; li < init_bytes; li++)
+		crc = sctp_crc_tableil8_o32[(crc ^ *p_buf++) & 0x000000FF] ^
+		    (crc >> 8);
+	for (li = 0; li < running_length / 8; li++) {
+#if BYTE_ORDER == BIG_ENDIAN
+		crc ^= *p_buf++;
+		crc ^= (*p_buf++) << 8;
+		crc ^= (*p_buf++) << 16;
+		crc ^= (*p_buf++) << 24;
+#else
+		crc ^= *(const uint32_t *) p_buf;
+		p_buf += 4;
+#endif
+		term1 = sctp_crc_tableil8_o88[crc & 0x000000FF] ^
+		    sctp_crc_tableil8_o80[(crc >> 8) & 0x000000FF];
+		term2 = crc >> 16;
+		crc = term1 ^
+		    sctp_crc_tableil8_o72[term2 & 0x000000FF] ^
+		    sctp_crc_tableil8_o64[(term2 >> 8) & 0x000000FF];
+
+#if BYTE_ORDER == BIG_ENDIAN
+		crc ^= sctp_crc_tableil8_o56[*p_buf++];
+		crc ^= sctp_crc_tableil8_o48[*p_buf++];
+		crc ^= sctp_crc_tableil8_o40[*p_buf++];
+		crc ^= sctp_crc_tableil8_o32[*p_buf++];
+#else
+		term1 = sctp_crc_tableil8_o56[(*(const uint32_t *) p_buf) & 0x000000FF] ^
+		    sctp_crc_tableil8_o48[((*(const uint32_t *) p_buf) >> 8) & 0x000000FF];
+
+		term2 = (*(const uint32_t *) p_buf) >> 16;
+		crc = crc ^
+		    term1 ^
+		    sctp_crc_tableil8_o40[term2 & 0x000000FF] ^
+		    sctp_crc_tableil8_o32[(term2 >> 8) & 0x000000FF];
+		p_buf += 4;
+#endif
+	}
+	for (li = 0; li < end_bytes; li++)
+		crc = sctp_crc_tableil8_o32[(crc ^ *p_buf++) & 0x000000FF] ^
+		    (crc >> 8);
+	return crc;
+}
+
+static uint32_t
+multitable_crc32c(uint32_t crc32c,
+    const unsigned char *buffer,
+    unsigned int length)
+{
+	uint32_t to_even_word;
+
+	if (length == 0) {
+		return (crc32c);
+	}
+	to_even_word = (4 - (((uintptr_t) buffer) & 0x3));
+	return (crc32c_sb8_64_bit(crc32c, buffer, length, to_even_word));
+}
+
+uint32_t
+calculate_crc32c(uint32_t crc32c,
+    const unsigned char *buffer,
+    unsigned int length)
+{
+	if (length < 4) {
+		return (singletable_crc32c(crc32c, buffer, length));
+	} else {
+		return (multitable_crc32c(crc32c, buffer, length));
+	}
+}

Modified: user/kmacy/releng_7_2_fcs_1/sys/netinet/in_pcb.c
==============================================================================
--- user/kmacy/releng_7_2_fcs_1/sys/netinet/in_pcb.c	Wed Jul 29 00:15:39 2009	(r195936)
+++ user/kmacy/releng_7_2_fcs_1/sys/netinet/in_pcb.c	Wed Jul 29 00:39:46 2009	(r195937)
@@ -196,7 +196,6 @@ in_pcballoc(struct socket *so, struct in
 #endif
 	struct inpcb *inp;
 	int error;
-	static int flowid = 1;
 	
 	INP_INFO_WLOCK_ASSERT(pcbinfo);
 	error = 0;

Modified: user/kmacy/releng_7_2_fcs_1/sys/netinet/sctp_bsd_addr.c
==============================================================================
--- user/kmacy/releng_7_2_fcs_1/sys/netinet/sctp_bsd_addr.c	Wed Jul 29 00:15:39 2009	(r195936)
+++ user/kmacy/releng_7_2_fcs_1/sys/netinet/sctp_bsd_addr.c	Wed Jul 29 00:39:46 2009	(r195937)
@@ -96,7 +96,7 @@ sctp_iterator_thread(void *v)
 		    &SCTP_BASE_INFO(ipi_iterator_wq_mtx),
 		    0, "waiting_for_work", 0);
 		if (SCTP_BASE_INFO(threads_must_exit)) {
-			kthread_exit();
+			kthread_exit(0);
 		}
 		sctp_iterator_worker();
 	}
@@ -107,7 +107,7 @@ sctp_startup_iterator(void)
 {
 	int ret;
 
-	ret = kproc_create(sctp_iterator_thread,
+	ret = kthread_create(sctp_iterator_thread,
 	    (void *)NULL,
 	    &SCTP_BASE_INFO(thread_proc),
 	    RFPROC,

Modified: user/kmacy/releng_7_2_fcs_1/sys/sys/libkern.h
==============================================================================
--- user/kmacy/releng_7_2_fcs_1/sys/sys/libkern.h	Wed Jul 29 00:15:39 2009	(r195936)
+++ user/kmacy/releng_7_2_fcs_1/sys/sys/libkern.h	Wed Jul 29 00:39:46 2009	(r195937)
@@ -139,6 +139,10 @@ crc32(const void *buf, size_t size)
 	return (crc ^ ~0U);
 }
 
+uint32_t
+calculate_crc32c(uint32_t crc32c, const unsigned char *buffer, 
+        unsigned int length);
+
 static __inline int
 memcmp(const void *b1, const void *b2, size_t len)
 {

From owner-svn-src-user@FreeBSD.ORG  Wed Jul 29 21:54:35 2009
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 47F8E1065680;
	Wed, 29 Jul 2009 21:54:35 +0000 (UTC)
	(envelope-from edwin@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 25FE78FC16;
	Wed, 29 Jul 2009 21:54:35 +0000 (UTC)
	(envelope-from edwin@FreeBSD.org)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6TLsYcQ083424;
	Wed, 29 Jul 2009 21:54:34 GMT (envelope-from edwin@svn.freebsd.org)
Received: (from edwin@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6TLsYnT083423;
	Wed, 29 Jul 2009 21:54:34 GMT (envelope-from edwin@svn.freebsd.org)
Message-Id: <200907292154.n6TLsYnT083423@svn.freebsd.org>
From: Edwin Groothuis <edwin@FreeBSD.org>
Date: Wed, 29 Jul 2009 21:54:34 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r195954 - user/edwin/locale/tools
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
	src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 29 Jul 2009 21:54:36 -0000

Author: edwin
Date: Wed Jul 29 21:54:34 2009
New Revision: 195954
URL: http://svn.freebsd.org/changeset/base/195954

Log:
  Add small tool to convert UTF-8 encoded strings back into CLDR
  "markup" language.

Added:
  user/edwin/locale/tools/UTF82encoding.pl   (contents, props changed)

Added: user/edwin/locale/tools/UTF82encoding.pl
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/edwin/locale/tools/UTF82encoding.pl	Wed Jul 29 21:54:34 2009	(r195954)
@@ -0,0 +1,64 @@
+#!/usr/bin/perl -w
+
+use strict;
+use Data::Dumper;
+
+open(FIN, "$ARGV[0]/posix/UTF-8.cm");
+my @lines = <FIN>;
+chomp(@lines);
+close(FIN);
+
+my %cm = ();
+foreach my $line (@lines) {
+	next if ($line =~ /^#/);
+	next if ($line eq "");
+	next if ($line !~ /^</);
+
+	my @a = split(" ", $line);
+	next if ($#a != 1);
+
+	$a[1] =~ s/\\x//g;
+	$cm{$a[1]} = $a[0];
+}
+
+print Dumper($cm{"4D"}), "\n";
+
+open(FIN, $ARGV[1]);
+@lines = <FIN>;
+chomp(@lines);
+close(FIN);
+
+foreach my $line (@lines) {
+	if ($line =~ /^#/) {
+		print "$line\n";
+		next;
+	}
+
+	my @l = split(//, $line);
+	for (my $i = 0; $i <= $#l; $i++) {
+		my $hex = sprintf("%X", ord($l[$i]));
+		if (defined $cm{$hex}) {
+			print $cm{$hex};
+			next;
+		}
+
+		$hex = sprintf("%X%X", ord($l[$i]), ord($l[$i + 1]));
+		if (defined $cm{$hex}) {
+			$i += 1;
+			print $cm{$hex};
+			next;
+		}
+
+		$hex = sprintf("%X%X%X",
+		    ord($l[$i]), ord($l[$i + 1]), ord($l[$i + 2 ]));
+		if (defined $cm{$hex}) {
+			$i += 2;
+			print $cm{$hex};
+			next;
+		}
+
+		print "\n--$hex--\n";
+	}
+	print "\n";
+
+}

From owner-svn-src-user@FreeBSD.ORG  Wed Jul 29 22:02:13 2009
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 995FD106566B;
	Wed, 29 Jul 2009 22:02:13 +0000 (UTC)
	(envelope-from edwin@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 879028FC0A;
	Wed, 29 Jul 2009 22:02:13 +0000 (UTC)
	(envelope-from edwin@FreeBSD.org)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6TM2DM3083643;
	Wed, 29 Jul 2009 22:02:13 GMT (envelope-from edwin@svn.freebsd.org)
Received: (from edwin@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6TM2DvU083639;
	Wed, 29 Jul 2009 22:02:13 GMT (envelope-from edwin@svn.freebsd.org)
Message-Id: <200907292202.n6TM2DvU083639@svn.freebsd.org>
From: Edwin Groothuis <edwin@FreeBSD.org>
Date: Wed, 29 Jul 2009 22:02:13 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r195955 - user/edwin/locale/tools
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
	src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 29 Jul 2009 22:02:13 -0000

Author: edwin
Date: Wed Jul 29 22:02:13 2009
New Revision: 195955
URL: http://svn.freebsd.org/changeset/base/195955

Log:
  Add support for the (FreeBSD specific) alternative month.
  Since it is not defined in the CLDR, we have to keep track of the
  information ourselves as long it differs from the normal long month
  name.

Modified:
  user/edwin/locale/tools/charmaps.pm
  user/edwin/locale/tools/charmaps.xml
  user/edwin/locale/tools/cldr2def.pl

Modified: user/edwin/locale/tools/charmaps.pm
==============================================================================
--- user/edwin/locale/tools/charmaps.pm	Wed Jul 29 21:54:34 2009	(r195954)
+++ user/edwin/locale/tools/charmaps.pm	Wed Jul 29 22:02:13 2009	(r195955)
@@ -1,5 +1,9 @@
 #!/usr/local/bin/perl -w
 
+#
+# $FreeBSD$
+#
+
 use strict;
 use XML::Parser;
 use Data::Dumper;
@@ -9,7 +13,9 @@ my %d = ();
 my $index = -1;
 
 sub get_xmldata {
-	open(FIN, "charmaps.xml");
+	my $xmlfile = shift;
+
+	open(FIN, $xmlfile);
 	my @xml = <FIN>;
 	chomp(@xml);
 	close(FIN);
@@ -38,10 +44,12 @@ sub h_start {
 
 	$data{element}{++$index} = $element;
 
-	if ($element eq "language") {
+	if ($index == 2
+	 && $data{element}{1} eq "languages"
+	 && $element eq "language") {
 		my $name = $attrs{name};
-		my $encoding = $attrs{encoding};
 		my $countries = $attrs{countries};
+		my $encoding = $attrs{encoding};
 		my $family = $attrs{family};
 		my $f = defined $attrs{family} ? $attrs{family} : "x";
 		my $link = $attrs{link};
@@ -63,7 +71,9 @@ sub h_start {
 		return;
 	}
 
-	if ($element eq "translation") {
+	if ($index == 2
+	 && $data{element}{1} eq "translations"
+	 && $element eq "translation") {
 		if (defined $attrs{hex}) {
 			my $k = "<" . $attrs{cldr} . ">";
 			my $hs = $attrs{hex};
@@ -80,17 +90,51 @@ sub h_start {
 		}
 		return;
 	}
+
+	if ($index == 2
+	 && $data{element}{1} eq "alternativemonths"
+	 && $element eq "language") {
+		my $name = $attrs{name};
+		my $countries = $attrs{countries};
+
+		$data{fields}{name} = $name;
+		$data{fields}{countries} = $countries;
+		$data{fields}{text} = "";
+
+		return;
+	}
 }
 
 sub h_end {
 	my $expat = shift;
 	my $element = shift;
+
+	if ($index == "2") {
+		if ($data{element}{1} eq "alternativemonths"
+		 && $data{element}{2} eq "language") {
+			foreach my $c (split(/,/, $data{fields}{countries})) {
+				my $m = $data{fields}{text};
+
+				$m =~ s/[\t ]//g;
+				$d{AM}{$data{fields}{name}}{$c} = $m;
+			}
+			$data{fields} = ();
+		}
+	}
+
 	$index--;
 }
 
 sub h_char {
 	my $expat = shift;
 	my $string = shift;
+
+	if ($index == "2") {
+		if ($data{element}{1} eq "alternativemonths"
+		 && $data{element}{2} eq "language") {
+			$data{fields}{text} .= $string;
+		}
+	}
 }
 
 #use Data::Dumper;

Modified: user/edwin/locale/tools/charmaps.xml
==============================================================================
--- user/edwin/locale/tools/charmaps.xml	Wed Jul 29 21:54:34 2009	(r195954)
+++ user/edwin/locale/tools/charmaps.xml	Wed Jul 29 22:02:13 2009	(r195955)
@@ -1,3 +1,4 @@
+<!-- $FreeBSD -->
 <data>
 <languages>
 	<!-- Attributes known:
@@ -5,16 +6,21 @@
 		encoding = encodings to be done - seperated by space
 		countries = countries to create - seperated by space
 		family = which font family - only one
-		link = only with family, create this original file too - only one
-		fallback = read this file if name_countries doesn't exist - only one
+		link = only with family, create this original file too - \
+			only one
+		fallback = read this file if name_countries doesn't exist - \
+			only one
 
 		By default, the name of the input file is name_countries.
-		If family is defined, the name of the input file will be name_family_countries.
+		If family is defined, the name of the input file will be \
+			name_family_countries.
 		If fallback is defined, the name of the input file will be that.
 
 		By default, the name of the output file is name_countries.
-		If family is defined, the name of the output file will be name_family_countries.
-		For backwards compatibility you use link which is name_countries.
+		If family is defined, the name of the output file will be \
+			name_family_countries.
+		For backwards compatibility you use link which is \
+			name_countries.
 
 	-->
 	<language name="af"
@@ -31,7 +37,7 @@
 	<language name="ca"
 		fallback="ca_ES"
 		encoding="ISO8859-1 ISO8859-15"
-		countries="AD ES FR IT" />	<!-- Not defined for anything else -->
+		countries="AD ES FR IT" />	<!-- only ca_ES defined -->
 	<language name="cs"
 		encoding="ISO8859-2"
 		countries="CZ" />
@@ -46,7 +52,7 @@
 		countries="GR" />
 	<language name="en"
 		encoding="ISO8859-1 ISO8859-15 US-ASCII"
-		countries="AU CA GB NZ US" />
+		countries="AU CA GB NZ US ZA" />
 	<language name="en"
 		countries="IE" />
 	<language name="es"
@@ -191,6 +197,9 @@
 	<translation encoding="ISO8859-5" cldr="HRYVNIA_SIGN" hex="D3E0DD" />
 	<translation encoding="KOI8-U" cldr="HRYVNIA_SIGN" hex="C7D2CE" />
 
+	<!-- Spaces from XX -->
+	<!-- translation encoding="US-ASCII" cldr="NO-BREAK_SPACE" string="XX" / -->
+
 	<!-- Value found in http://en.wikipedia.org/wiki/Pound_sign -->
 	<translation encoding="US-ASCII" cldr="POUND_SIGN" hex="A3" />
 
@@ -234,4 +243,159 @@
 	<translation encoding="ARMSCII-8" cldr="ONE_DOT_LEADER" string="." />
 
 </translations>
+
+<alternativemonths>
+	<!-- Months which are different in dates ("21 december 1980") and in
+		sentence usage ("We will do that in December.").
+		The CLDR doesn't understand them, therefore we have
+		to define them inline. Fortunately it doesn't happen
+		often...
+	  -->
+	<language name="be" countries="BY">
+		<![CDATA[
+		"<CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_TE><CYRILLIC_SMALL_LETTER_U><CYRILLIC_SMALL_LETTER_DE><CYRILLIC_SMALL_LETTER_ZE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_EL><CYRILLIC_SMALL_LETTER_YU><CYRILLIC_SMALL_LETTER_TE><CYRILLIC_SMALL_LETTER_YERU>";
+		"<CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_KA><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_BYELORUSSIAN-UKRAINIAN_I><CYRILLIC_SMALL_LETTER_KA>";
+		"<CYRILLIC_SMALL_LETTER_KA><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_BYELORUSSIAN-UKRAINIAN_I><CYRILLIC_SMALL_LETTER_KA>";
+		"<CYRILLIC_SMALL_LETTER_TE><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_CHE><CYRILLIC_SMALL_LETTER_E><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_EL><CYRILLIC_SMALL_LETTER_BYELORUSSIAN-UKRAINIAN_I><CYRILLIC_SMALL_LETTER_PE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_ZHE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_BYELORUSSIAN-UKRAINIAN_I><CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_KA><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_TE><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_YERU><CYRILLIC_SMALL_LETTER_CHE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_BYELORUSSIAN-UKRAINIAN_I><CYRILLIC_SMALL_LETTER_KA>";
+		"<CYRILLIC_SMALL_LETTER_EL><CYRILLIC_SMALL_LETTER_BYELORUSSIAN-UKRAINIAN_I><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_TE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_PE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_DE>";
+		"<CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_ZHE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_SOFT_SIGN>"
+		]]>
+	</language>
+	<language name="cs" countries="CZ">
+		<![CDATA[
+		"<l><e><d><e><n>";
+		"<LATIN_SMALL_LETTER_U_WITH_ACUTE><n><o><r>";
+		"<b><LATIN_SMALL_LETTER_R_WITH_CARON><e><z><e><n>";
+		"<d><u><b><e><n>";
+		"<k><v><LATIN_SMALL_LETTER_E_WITH_CARON><t><e><n>";
+		"<LATIN_SMALL_LETTER_C_WITH_CARON><e><r><v><e><n>";
+		"<LATIN_SMALL_LETTER_C_WITH_CARON><e><r><v><e><n><e><c>";
+		"<s><r><p><e><n>";
+		"<z><LATIN_SMALL_LETTER_A_WITH_ACUTE><LATIN_SMALL_LETTER_R_WITH_CARON><LATIN_SMALL_LETTER_I_WITH_ACUTE>";
+		"<LATIN_SMALL_LETTER_R_WITH_CARON><LATIN_SMALL_LETTER_I_WITH_ACUTE><j><e><n>";
+		"<l><i><s><t><o><p><a><d>";
+		"<p><r><o><s><i><n><e><c>"
+		]]>
+	</language>
+	<language name="el" countries="GR">
+		<![CDATA[
+		"<GREEK_CAPITAL_LETTER_IOTA><GREEK_SMALL_LETTER_ALPHA><GREEK_SMALL_LETTER_NU><GREEK_SMALL_LETTER_OMICRON><GREEK_SMALL_LETTER_UPSILON><GREEK_SMALL_LETTER_ALPHA_WITH_TONOS><GREEK_SMALL_LETTER_RHO><GREEK_SMALL_LETTER_IOTA><GREEK_SMALL_LETTER_OMICRON><GREEK_SMALL_LETTER_FINAL_SIGMA>";
+		"<GREEK_CAPITAL_LETTER_PHI><GREEK_SMALL_LETTER_EPSILON><GREEK_SMALL_LETTER_BETA><GREEK_SMALL_LETTER_RHO><GREEK_SMALL_LETTER_OMICRON><GREEK_SMALL_LETTER_UPSILON><GREEK_SMALL_LETTER_ALPHA_WITH_TONOS><GREEK_SMALL_LETTER_RHO><GREEK_SMALL_LETTER_IOTA><GREEK_SMALL_LETTER_OMICRON><GREEK_SMALL_LETTER_FINAL_SIGMA>";
+		"<GREEK_CAPITAL_LETTER_MU><GREEK_SMALL_LETTER_ALPHA_WITH_TONOS><GREEK_SMALL_LETTER_RHO><GREEK_SMALL_LETTER_TAU><GREEK_SMALL_LETTER_IOTA><GREEK_SMALL_LETTER_OMICRON><GREEK_SMALL_LETTER_FINAL_SIGMA>";
+		"<GREEK_CAPITAL_LETTER_ALPHA><GREEK_SMALL_LETTER_PI><GREEK_SMALL_LETTER_RHO><GREEK_SMALL_LETTER_IOTA_WITH_TONOS><GREEK_SMALL_LETTER_LAMDA><GREEK_SMALL_LETTER_IOTA><GREEK_SMALL_LETTER_OMICRON><GREEK_SMALL_LETTER_FINAL_SIGMA>";
+		"<GREEK_CAPITAL_LETTER_MU><GREEK_SMALL_LETTER_ALPHA_WITH_TONOS><GREEK_SMALL_LETTER_IOTA_WITH_DIALYTIKA><GREEK_SMALL_LETTER_OMICRON><GREEK_SMALL_LETTER_FINAL_SIGMA>";
+		"<GREEK_CAPITAL_LETTER_IOTA><GREEK_SMALL_LETTER_OMICRON><GREEK_SMALL_LETTER_UPSILON_WITH_TONOS><GREEK_SMALL_LETTER_NU><GREEK_SMALL_LETTER_IOTA><GREEK_SMALL_LETTER_OMICRON><GREEK_SMALL_LETTER_FINAL_SIGMA>";
+		"<GREEK_CAPITAL_LETTER_IOTA><GREEK_SMALL_LETTER_OMICRON><GREEK_SMALL_LETTER_UPSILON_WITH_TONOS><GREEK_SMALL_LETTER_LAMDA><GREEK_SMALL_LETTER_IOTA><GREEK_SMALL_LETTER_OMICRON><GREEK_SMALL_LETTER_FINAL_SIGMA>";
+		"<GREEK_CAPITAL_LETTER_ALPHA><GREEK_SMALL_LETTER_UPSILON_WITH_TONOS><GREEK_SMALL_LETTER_GAMMA><GREEK_SMALL_LETTER_OMICRON><GREEK_SMALL_LETTER_UPSILON><GREEK_SMALL_LETTER_SIGMA><GREEK_SMALL_LETTER_TAU><GREEK_SMALL_LETTER_OMICRON><GREEK_SMALL_LETTER_FINAL_SIGMA>";
+		"<GREEK_CAPITAL_LETTER_SIGMA><GREEK_SMALL_LETTER_EPSILON><GREEK_SMALL_LETTER_PI><GREEK_SMALL_LETTER_TAU><GREEK_SMALL_LETTER_EPSILON_WITH_TONOS><GREEK_SMALL_LETTER_MU><GREEK_SMALL_LETTER_BETA><GREEK_SMALL_LETTER_RHO><GREEK_SMALL_LETTER_IOTA><GREEK_SMALL_LETTER_OMICRON><GREEK_SMALL_LETTER_FINAL_SIGMA>";
+		"<GREEK_CAPITAL_LETTER_OMICRON><GREEK_SMALL_LETTER_KAPPA><GREEK_SMALL_LETTER_TAU><GREEK_SMALL_LETTER_OMEGA_WITH_TONOS><GREEK_SMALL_LETTER_BETA><GREEK_SMALL_LETTER_RHO><GREEK_SMALL_LETTER_IOTA><GREEK_SMALL_LETTER_OMICRON><GREEK_SMALL_LETTER_FINAL_SIGMA>";
+		"<GREEK_CAPITAL_LETTER_NU><GREEK_SMALL_LETTER_OMICRON><GREEK_SMALL_LETTER_EPSILON_WITH_TONOS><GREEK_SMALL_LETTER_MU><GREEK_SMALL_LETTER_BETA><GREEK_SMALL_LETTER_RHO><GREEK_SMALL_LETTER_IOTA><GREEK_SMALL_LETTER_OMICRON><GREEK_SMALL_LETTER_FINAL_SIGMA>";
+		"<GREEK_CAPITAL_LETTER_DELTA><GREEK_SMALL_LETTER_EPSILON><GREEK_SMALL_LETTER_KAPPA><GREEK_SMALL_LETTER_EPSILON_WITH_TONOS><GREEK_SMALL_LETTER_MU><GREEK_SMALL_LETTER_BETA><GREEK_SMALL_LETTER_RHO><GREEK_SMALL_LETTER_IOTA><GREEK_SMALL_LETTER_OMICRON><GREEK_SMALL_LETTER_FINAL_SIGMA>"
+		]]>
+	</language>
+	<language name="kk" countries="KZ">
+		<![CDATA[
+		"<CYRILLIC_SMALL_LETTER_KA_WITH_DESCENDER><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_TE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER>";
+		"<CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_KA_WITH_DESCENDER><CYRILLIC_SMALL_LETTER_PE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_EN>";
+		"<CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_U><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_YERU><CYRILLIC_SMALL_LETTER_ZE>";
+		"<CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_SCHWA><CYRILLIC_SMALL_LETTER_U><CYRILLIC_SMALL_LETTER_BYELORUSSIAN-UKRAINIAN_I><CYRILLIC_SMALL_LETTER_ER>";
+		"<CYRILLIC_SMALL_LETTER_EM><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_EM><CYRILLIC_SMALL_LETTER_YERU><CYRILLIC_SMALL_LETTER_ER>";
+		"<CYRILLIC_SMALL_LETTER_EM><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_U><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_YERU><CYRILLIC_SMALL_LETTER_EM>";
+		"<CYRILLIC_SMALL_LETTER_SHA><CYRILLIC_SMALL_LETTER_BYELORUSSIAN-UKRAINIAN_I><CYRILLIC_SMALL_LETTER_EL><CYRILLIC_SMALL_LETTER_DE><CYRILLIC_SMALL_LETTER_IE>";
+		"<CYRILLIC_SMALL_LETTER_TE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_EM><CYRILLIC_SMALL_LETTER_YERU><CYRILLIC_SMALL_LETTER_ZE>";
+		"<CYRILLIC_SMALL_LETTER_KA_WITH_DESCENDER><CYRILLIC_SMALL_LETTER_YERU><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_KA><CYRILLIC_SMALL_LETTER_STRAIGHT_U><CYRILLIC_SMALL_LETTER_SHORT_I><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_KA>";
+		"<CYRILLIC_SMALL_LETTER_KA_WITH_DESCENDER><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ZE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_EN>";
+		"<CYRILLIC_SMALL_LETTER_KA_WITH_DESCENDER><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_SHA><CYRILLIC_SMALL_LETTER_A>";
+		"<CYRILLIC_SMALL_LETTER_ZHE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EL><CYRILLIC_SMALL_LETTER_TE><CYRILLIC_SMALL_LETTER_O><CYRILLIC_SMALL_LETTER_KA_WITH_DESCENDER><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_EN>"
+		]]>
+	</language>
+	<language name="lt" countries="LT">
+		<![CDATA[
+		"<s><a><u><s><i><s>";
+		"<v><a><s><a><r><i><s>";
+		"<k><o><v><a><s>";
+		"<b><a><l><a><n><d><i><s>";
+		"<g><e><g><u><LATIN_SMALL_LETTER_Z_WITH_CARON><LATIN_SMALL_LETTER_E_WITH_DOT_ABOVE>";
+		"<b><i><r><LATIN_SMALL_LETTER_Z_WITH_CARON><e><l><i><s>";
+		"<l><i><e><p><a>";
+		"<r><u><g><p><j><LATIN_SMALL_LETTER_U_WITH_MACRON><t><i><s>";
+		"<r><u><g><s><LATIN_SMALL_LETTER_E_WITH_DOT_ABOVE><j><i><s>";
+		"<s><p><a><l><i><s>";
+		"<l><a><p><k><r><i><t><i><s>";
+		"<g><r><u><o><d><i><s>"
+		]]>
+	</language>
+	<language name="mn" countries="MN">
+		<![CDATA[
+		"<CYRILLIC_CAPITAL_LETTER_EN><CYRILLIC_SMALL_LETTER_E><CYRILLIC_SMALL_LETTER_GHE><CYRILLIC_SMALL_LETTER_DE><CYRILLIC_SMALL_LETTER_STRAIGHT_U><CYRILLIC_SMALL_LETTER_GHE><CYRILLIC_SMALL_LETTER_E><CYRILLIC_SMALL_LETTER_E><CYRILLIC_SMALL_LETTER_ER><space><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER>";
+		"<CYRILLIC_CAPITAL_LETTER_HA><CYRILLIC_SMALL_LETTER_O><CYRILLIC_SMALL_LETTER_IO><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_DE><CYRILLIC_SMALL_LETTER_U><CYRILLIC_SMALL_LETTER_GHE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER><space><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER>";
+		"<CYRILLIC_CAPITAL_LETTER_GHE><CYRILLIC_SMALL_LETTER_U><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_DE><CYRILLIC_SMALL_LETTER_U><CYRILLIC_SMALL_LETTER_GHE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER><space><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER>";
+		"<CYRILLIC_CAPITAL_LETTER_DE><CYRILLIC_SMALL_LETTER_BARRED_O><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_BARRED_O><CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_DE><CYRILLIC_SMALL_LETTER_STRAIGHT_U><CYRILLIC_SMALL_LETTER_GHE><CYRILLIC_SMALL_LETTER_E><CYRILLIC_SMALL_LETTER_E><CYRILLIC_SMALL_LETTER_ER><space><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER>";
+		"<CYRILLIC_CAPITAL_LETTER_TE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_DE><CYRILLIC_SMALL_LETTER_U><CYRILLIC_SMALL_LETTER_GHE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER><space><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER>";
+		"<CYRILLIC_CAPITAL_LETTER_ZE><CYRILLIC_SMALL_LETTER_U><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_GHE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_DE><CYRILLIC_SMALL_LETTER_U><CYRILLIC_SMALL_LETTER_GHE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER><space><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER>";
+		"<CYRILLIC_CAPITAL_LETTER_DE><CYRILLIC_SMALL_LETTER_O><CYRILLIC_SMALL_LETTER_EL><CYRILLIC_SMALL_LETTER_O><CYRILLIC_SMALL_LETTER_O><CYRILLIC_SMALL_LETTER_DE><CYRILLIC_SMALL_LETTER_U><CYRILLIC_SMALL_LETTER_GHE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER><space><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER>";
+		"<CYRILLIC_CAPITAL_LETTER_EN><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_SHORT_I><CYRILLIC_SMALL_LETTER_EM><CYRILLIC_SMALL_LETTER_DE><CYRILLIC_SMALL_LETTER_U><CYRILLIC_SMALL_LETTER_GHE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER><space><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER>";
+		"<CYRILLIC_CAPITAL_LETTER_IE><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_DE><CYRILLIC_SMALL_LETTER_STRAIGHT_U><CYRILLIC_SMALL_LETTER_GHE><CYRILLIC_SMALL_LETTER_E><CYRILLIC_SMALL_LETTER_E><CYRILLIC_SMALL_LETTER_ER><space><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER>";
+		"<CYRILLIC_CAPITAL_LETTER_A><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_DE><CYRILLIC_SMALL_LETTER_U><CYRILLIC_SMALL_LETTER_GHE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER><space><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER>";
+		"<CYRILLIC_CAPITAL_LETTER_A><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_EN><space><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_E><CYRILLIC_SMALL_LETTER_GHE><CYRILLIC_SMALL_LETTER_DE><CYRILLIC_SMALL_LETTER_STRAIGHT_U><CYRILLIC_SMALL_LETTER_GHE><CYRILLIC_SMALL_LETTER_E><CYRILLIC_SMALL_LETTER_E><CYRILLIC_SMALL_LETTER_ER><space><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER>";
+		"<CYRILLIC_CAPITAL_LETTER_A><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_EN><space><CYRILLIC_SMALL_LETTER_HA><CYRILLIC_SMALL_LETTER_O><CYRILLIC_SMALL_LETTER_IO><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_DE><CYRILLIC_SMALL_LETTER_U><CYRILLIC_SMALL_LETTER_GHE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER><space><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER>"
+		]]>
+	</language>
+	<language name="pl" countries="PL">
+		<![CDATA[
+		"<s><t><y><c><z><e><LATIN_SMALL_LETTER_N_WITH_ACUTE>";
+		"<l><u><t><y>";
+		"<m><a><r><z><e><c>";
+		"<k><w><i><e><c><i><e><LATIN_SMALL_LETTER_N_WITH_ACUTE>";
+		"<m><a><j>";
+		"<c><z><e><r><w><i><e><c>";
+		"<l><i><p><i><e><c>";
+		"<s><i><e><r><p><i><e><LATIN_SMALL_LETTER_N_WITH_ACUTE>";
+		"<w><r><z><e><s><i><e><LATIN_SMALL_LETTER_N_WITH_ACUTE>";
+		"<p><a><LATIN_SMALL_LETTER_Z_WITH_ACUTE><d><z><i><e><r><n><i><k>";
+		"<l><i><s><t><o><p><a><d>";
+		"<g><r><u><d><z><i><e><LATIN_SMALL_LETTER_N_WITH_ACUTE>"
+		]]>
+	</language>
+	<language name="ru" countries="RU">
+		<![CDATA[
+		"<CYRILLIC_SMALL_LETTER_YA><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_EF><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_EL><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_EM><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_TE>";
+		"<CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_PE><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EL><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_EM><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_SHORT_I>";
+		"<CYRILLIC_SMALL_LETTER_I><CYRILLIC_SMALL_LETTER_YU><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_I><CYRILLIC_SMALL_LETTER_YU><CYRILLIC_SMALL_LETTER_EL><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_GHE><CYRILLIC_SMALL_LETTER_U><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_TE>";
+		"<CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_TE><CYRILLIC_SMALL_LETTER_YA><CYRILLIC_SMALL_LETTER_BE><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_O><CYRILLIC_SMALL_LETTER_KA><CYRILLIC_SMALL_LETTER_TE><CYRILLIC_SMALL_LETTER_YA><CYRILLIC_SMALL_LETTER_BE><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_O><CYRILLIC_SMALL_LETTER_YA><CYRILLIC_SMALL_LETTER_BE><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_DE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_KA><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_BE><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_SOFT_SIGN>"
+		]]>
+	</language>
+	<language name="uk" countries="UA">
+		<![CDATA[
+		"<CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_BYELORUSSIAN-UKRAINIAN_I><CYRILLIC_SMALL_LETTER_CHE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_EL><CYRILLIC_SMALL_LETTER_YU><CYRILLIC_SMALL_LETTER_TE><CYRILLIC_SMALL_LETTER_I><CYRILLIC_SMALL_LETTER_SHORT_I>";
+		"<CYRILLIC_SMALL_LETTER_BE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_ZE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_KA><CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_BYELORUSSIAN-UKRAINIAN_I><CYRILLIC_SMALL_LETTER_TE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_TE><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_CHE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_EL><CYRILLIC_SMALL_LETTER_I><CYRILLIC_SMALL_LETTER_PE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_PE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_ZHE><CYRILLIC_SMALL_LETTER_O><CYRILLIC_SMALL_LETTER_VE><CYRILLIC_SMALL_LETTER_TE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_SOFT_SIGN>";
+		"<CYRILLIC_SMALL_LETTER_EL><CYRILLIC_SMALL_LETTER_I><CYRILLIC_SMALL_LETTER_ES><CYRILLIC_SMALL_LETTER_TE><CYRILLIC_SMALL_LETTER_O><CYRILLIC_SMALL_LETTER_PE><CYRILLIC_SMALL_LETTER_A><CYRILLIC_SMALL_LETTER_DE>";
+		"<CYRILLIC_SMALL_LETTER_GHE><CYRILLIC_SMALL_LETTER_ER><CYRILLIC_SMALL_LETTER_U><CYRILLIC_SMALL_LETTER_DE><CYRILLIC_SMALL_LETTER_IE><CYRILLIC_SMALL_LETTER_EN><CYRILLIC_SMALL_LETTER_SOFT_SIGN>"
+		]]>
+	</language>
+
+</alternativemonths>
+
 </data>

Modified: user/edwin/locale/tools/cldr2def.pl
==============================================================================
--- user/edwin/locale/tools/cldr2def.pl	Wed Jul 29 21:54:34 2009	(r195954)
+++ user/edwin/locale/tools/cldr2def.pl	Wed Jul 29 22:02:13 2009	(r195955)
@@ -1,5 +1,9 @@
 #!/usr/bin/perl -wC
 
+#
+# $FreeBSD$
+#
+
 use strict;
 use XML::Parser;
 use Text::Iconv;
@@ -26,6 +30,7 @@ my %values = ();
 my %hashtable = ();
 my %languages = ();
 my %translations = ();
+my %alternativemonths = ();
 get_languages();
 
 my %cm = ();
@@ -44,6 +49,8 @@ my %FILESNAMES = (
 
 my %callback = (
 	mdorder => \&callback_mdorder,
+	altmon => \&callback_altmon,
+	data => (),
 );
 
 my %DESC = (
@@ -87,7 +94,7 @@ my %DESC = (
 	"XXX"		=> "c_fmt",
 	"am_pm"		=> "AM/PM",
 	"d_t_fmt"	=> "date_fmt",
-	"mon2"		=> "Long month names (without case ending)",
+	"altmon"	=> "Long month names (without case ending)",
 	"md_order"	=> "md_order",
 	"t_fmt_ampm"	=> "ampm_fmt",
 
@@ -151,7 +158,8 @@ if ($TYPE eq "timedef") {
 	    "am_pm"		=> "as",
 	    "d_fmt"		=> "s",
 	    "d_t_fmt"		=> "s",
-	    "mon2"		=> ">mon",		# repeat them for now
+#	    "altmon"		=> ">mon",		# repeat them for now
+	    "altmon"		=> "<altmon<mon<as",
 	    "md_order"		=> "<mdorder<d_fmt<s",
 	    "t_fmt_ampm"	=> "s",
 	);
@@ -167,6 +175,18 @@ sub callback_mdorder {
 	return $s;
 };
 
+sub callback_altmon {
+	# if the language/country is known in %alternative months then
+	# return that, otherwise repeat mon
+	my $s = shift;
+
+	if (defined $alternativemonths{$callback{data}{l}}{$callback{data}{c}}) {
+		return $alternativemonths{$callback{data}{l}}{$callback{data}{c}};
+	}
+
+	return $s;
+}
+
 ############################
 
 sub get_utf8map {
@@ -197,6 +217,7 @@ sub get_languages {
 	my %data = get_xmldata($CHARMAPS);
 	%languages = %{$data{L}}; 
 	%translations = %{$data{T}}; 
+	%alternativemonths = %{$data{AM}}; 
 
 	return if (!defined $doonly);
 
@@ -342,16 +363,24 @@ EOF
 
 				$output .= "#\n# $DESC{$k}\n";
 
+				# Replace one row with another
 				if ($f =~ /^>/) {
 					$k = substr($f, 1);
 					$f = $keys{$k};
 				}
+
+				# Callback function
 				if ($f =~ /^\</) {
+					$callback{data}{c} = $c;
+					$callback{data}{k} = $k;
+					$callback{data}{l} = $l;
+					$callback{data}{e} = $enc;
 					my @a = split(/\</, substr($f, 1));
 					my $rv =
 					    &{$callback{$a[0]}}($values{$l}{$c}{$a[1]});
 					$values{$l}{$c}{$k} = $rv;
 					$f = $a[2];
+					$callback{data} = ();
 				}
 
 				my $v = $values{$l}{$c}{$k};
@@ -451,7 +480,7 @@ sub make_makefile {
 # tools in /usr/src/tools/tools/locale.
 # 
 
-LOCALEDIR=	/usr/share/locale
+LOCALEDIR=	/share/locale
 FILESNAME=	$FILESNAMES{$TYPE}
 .SUFFIXES:	.src .out
 
@@ -480,6 +509,12 @@ EOF
 	foreach my $c (sort keys(%{$languages{$l}{$f}{data}})) {
 		next if ($#filter == 2 && ($filter[0] ne $l
 		    || $filter[1] ne $f || $filter[2] ne $c));
+		if (defined $languages{$l}{$f}{data}{$c}{$DEFENCODING}
+		 && $languages{$l}{$f}{data}{$c}{$DEFENCODING} eq "0") {
+			print "Skipping ${l}_" . ($f eq "x" ? "" : "${f}_") .
+			    "${c} - not read\n";
+			next;
+		}
 		foreach my $e (sort keys(%{$languages{$l}{$f}{data}{$c}})) {
 			my $file = $l . "_";
 			$file .= $f . "_" if ($f ne "x");
@@ -516,10 +551,6 @@ SYMLINKS+=	../\${f:C/:.*\$//}/\${FILESNA
 FILESDIR_\${f}.out= \${LOCALEDIR}/\${f}
 .endfor
 
-
-src:
-	./cldr2def.pl /home/edwin/cldr/1.7.0/ charmaps.xml timedef nl_NL
-
 .include <bsd.prog.mk>
 EOF
 

From owner-svn-src-user@FreeBSD.ORG  Thu Jul 30 20:50:57 2009
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 0247210656CE;
	Thu, 30 Jul 2009 20:50:57 +0000 (UTC)
	(envelope-from edwin@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id E49AF8FC20;
	Thu, 30 Jul 2009 20:50:56 +0000 (UTC)
	(envelope-from edwin@FreeBSD.org)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6UKouB4045574;
	Thu, 30 Jul 2009 20:50:56 GMT (envelope-from edwin@svn.freebsd.org)
Received: (from edwin@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6UKoucU045572;
	Thu, 30 Jul 2009 20:50:56 GMT (envelope-from edwin@svn.freebsd.org)
Message-Id: <200907302050.n6UKoucU045572@svn.freebsd.org>
From: Edwin Groothuis <edwin@FreeBSD.org>
Date: Thu, 30 Jul 2009 20:50:56 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r195980 - user/edwin/locale/tools
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
	src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 30 Jul 2009 20:50:57 -0000

Author: edwin
Date: Thu Jul 30 20:50:56 2009
New Revision: 195980
URL: http://svn.freebsd.org/changeset/base/195980

Log:
  Add missing conversions

Modified:
  user/edwin/locale/tools/charmaps.xml

Modified: user/edwin/locale/tools/charmaps.xml
==============================================================================
--- user/edwin/locale/tools/charmaps.xml	Thu Jul 30 20:16:34 2009	(r195979)
+++ user/edwin/locale/tools/charmaps.xml	Thu Jul 30 20:50:56 2009	(r195980)
@@ -197,6 +197,91 @@
 	<translation encoding="ISO8859-5" cldr="HRYVNIA_SIGN" hex="D3E0DD" />
 	<translation encoding="KOI8-U" cldr="HRYVNIA_SIGN" hex="C7D2CE" />
 
+	<!-- Copied from the original FreeBSD src/share/timedef -->
+	<translation encoding="KOI8-R"
+	    cldr="CYRILLIC_SMALL_LETTER_SOFT_SIGN" hex="EC" />
+	<translation encoding="KOI8-R"
+	    cldr="CYRILLIC_SMALL_LETTER_TE" hex="E2" />
+	<translation encoding="KOI8-R"
+	    cldr="CYRILLIC_SMALL_LETTER_SHORT_I" hex="E9" />
+
+	<translation encoding="KOI8-U"
+	    cldr="CYRILLIC_SMALL_LETTER_SOFT_SIGN" hex="D8" />
+	<translation encoding="KOI8-U"
+	    cldr="CYRILLIC_SMALL_LETTER_SHORT_I" hex="CA" />
+	<translation encoding="KOI8-U"
+	    cldr="CYRILLIC_SMALL_LETTER_DE" hex="C4" />
+
+	<translation encoding="ISO8859-2"
+	    cldr="LATIN_SMALL_LETTER_N_WITH_ACUTE" hex="F1" />
+	<translation encoding="ISO8859-2"
+	    cldr="LATIN_SMALL_LETTER_I_WITH_ACUTE" hex="ED" />
+	<translation encoding="ISO8859-2" cldr="k" string="k" />
+
+	<translation encoding="ISO8859-4" cldr="s" string="s" />
+	<translation encoding="ISO8859-4"
+	    cldr="LATIN_SMALL_LETTER_E_WITH_DOT_ABOVE" hex="EC" />
+
+	<translation encoding="ISO8859-5"
+	    cldr="CYRILLIC_SMALL_LETTER_SOFT_SIGN" hex="EC" />
+	<translation encoding="ISO8859-5"
+	    cldr="CYRILLIC_SMALL_LETTER_SHORT_I" hex="D9" />
+	<translation encoding="ISO8859-5"
+	    cldr="CYRILLIC_SMALL_LETTER_DE" hex="D4" />
+	<translation encoding="ISO8859-5"
+	    cldr="CYRILLIC_SMALL_LETTER_YERU" hex="EB" />
+	<translation encoding="ISO8859-5"
+	    cldr="CYRILLIC_SMALL_LETTER_KA" hex="DA" />
+	<translation encoding="ISO8859-5"
+	    cldr="CYRILLIC_SMALL_LETTER_TE" hex="E2" />
+
+	<translation encoding="ISO8859-7"
+	    cldr="GREEK_SMALL_LETTER_FINAL_SIGMA" hex="F2" />
+
+	<translation encoding="CP1251"
+	    cldr="CYRILLIC_SMALL_LETTER_YERU" hex="FB" />
+	<translation encoding="CP1251"
+	    cldr="CYRILLIC_SMALL_LETTER_KA" hex="EA" />
+	<translation encoding="CP1251"
+	    cldr="CYRILLIC_SMALL_LETTER_TE" hex="E2" />
+	<translation encoding="CP1251"
+	    cldr="CYRILLIC_SMALL_LETTER_SOFT_SIGN" hex="FC" />
+	<translation encoding="CP1251"
+	    cldr="CYRILLIC_SMALL_LETTER_SHORT_I" hex="E9" />
+	<translation encoding="CP1251"
+	    cldr="CYRILLIC_SMALL_LETTER_DE" hex="E4" />
+
+	<translation encoding="CP1131"
+	    cldr="CYRILLIC_SMALL_LETTER_YERU" hex="EB" />
+	<translation encoding="CP1131"
+	    cldr="CYRILLIC_SMALL_LETTER_KA" hex="AA" />
+	<translation encoding="CP1131"
+	    cldr="CYRILLIC_SMALL_LETTER_DE" hex="A4" />
+	<translation encoding="CP1131"
+	    cldr="CYRILLIC_SMALL_LETTER_SOFT_SIGN" hex="EC" />
+
+	<translation encoding="CP866"
+	    cldr="CYRILLIC_SMALL_LETTER_SOFT_SIGN" hex="EC" />
+	<translation encoding="CP866"
+	    cldr="CYRILLIC_SMALL_LETTER_SHORT_I" hex="A9" />
+	<translation encoding="CP866"
+	    cldr="CYRILLIC_SMALL_LETTER_TE" hex="E2" />
+
+	<translation encoding="PT154"
+	    cldr="CYRILLIC_SMALL_LETTER_A" hex="E0" />
+	<translation encoding="PT154"
+	    cldr="CYRILLIC_SMALL_LETTER_EM" hex="EC" />
+	<translation encoding="PT154"
+	    cldr="CYRILLIC_SMALL_LETTER_EN" hex="ED" />
+	<translation encoding="PT154"
+	    cldr="CYRILLIC_SMALL_LETTER_ER" hex="F0" />
+	<translation encoding="PT154"
+	    cldr="CYRILLIC_SMALL_LETTER_IE" hex="E5" />
+	<translation encoding="PT154"
+	    cldr="CYRILLIC_SMALL_LETTER_KA" hex="EA" />
+	<translation encoding="PT154"
+	    cldr="CYRILLIC_SMALL_LETTER_ZE" hex="E7" />
+
 	<!-- Spaces from XX -->
 	<!-- translation encoding="US-ASCII" cldr="NO-BREAK_SPACE" string="XX" / -->
 
@@ -204,28 +289,52 @@
 	<translation encoding="US-ASCII" cldr="POUND_SIGN" hex="A3" />
 
 	<!-- Values found in http://en.wikipedia.org/wiki/Ya_(Cyrillic) -->
-	<translation encoding="CP1251" cldr="CYRILLIC_SMALL_LETTER_YA" hex="FF" />
-	<translation encoding="ISO8859-5" cldr="CYRILLIC_SMALL_LETTER_YA" hex="EF" />
-	<translation encoding="KOI8-U" cldr="CYRILLIC_SMALL_LETTER_YA" hex="D1" />
-	<!-- Values found in http://en.wikipedia.org/wiki/Cyrillic_characters_in_Unicode -->
-	<translation encoding="ISO8859-2" cldr="CYRILLIC_CAPITAL_LETTER_A" string="A" />
-	<translation encoding="ISO8859-2" cldr="CYRILLIC_SMALL_LETTER_A" string="a" />
-	<translation encoding="ISO8859-2" cldr="CYRILLIC_SMALL_LETTER_KA" string="k" />
-	<translation encoding="ISO8859-2" cldr="CYRILLIC_SMALL_LETTER_O" string="o" />
-	<translation encoding="ISO8859-2" cldr="CYRILLIC_CAPITAL_LETTER_DE" string="D" />
-	<translation encoding="ISO8859-2" cldr="CYRILLIC_SMALL_LETTER_DE" string="d" />
-	<translation encoding="ISO8859-2" cldr="CYRILLIC_CAPITAL_LETTER_IE" string="E" />
-	<translation encoding="ISO8859-2" cldr="CYRILLIC_SMALL_LETTER_IE" string="e" />
-	<translation encoding="ISO8859-2" cldr="CYRILLIC_CAPITAL_LETTER_EN" string="N" />
-	<translation encoding="ISO8859-2" cldr="CYRILLIC_SMALL_LETTER_EN" string="n" />
-	<translation encoding="ISO8859-2" cldr="CYRILLIC_SMALL_LETTER_BE" string="b" />
-	<translation encoding="ISO8859-2" cldr="CYRILLIC_SMALL_LETTER_ER" string="r" />
-	<translation encoding="ISO8859-2" cldr="CYRILLIC_SMALL_LETTER_JE" string="j" />
-	<translation encoding="ISO8859-2" cldr="CYRILLIC_SMALL_LETTER_EL" string="l" />
-	<translation encoding="ISO8859-2" cldr="CYRILLIC_SMALL_LETTER_GHE" string="g" />
-	<translation encoding="ISO8859-2" cldr="CYRILLIC_SMALL_LETTER_PE" string="p" />
-	<translation encoding="ISO8859-2" cldr="CYRILLIC_SMALL_LETTER_TE" string="t" />
-	<translation encoding="ISO8859-2" cldr="CYRILLIC_SMALL_LETTER_VE" string="v" />
+	<translation encoding="CP1251"
+	    cldr="CYRILLIC_SMALL_LETTER_YA" hex="FF" />
+	<translation encoding="ISO8859-5"
+	    cldr="CYRILLIC_SMALL_LETTER_YA" hex="EF" />
+	<translation encoding="KOI8-U"
+	    cldr="CYRILLIC_SMALL_LETTER_YA" hex="D1" />
+
+	<!-- Values found in
+		http://en.wikipedia.org/wiki/Cyrillic_characters_in_Unicode
+	 -->
+	<translation encoding="ISO8859-2"
+	    cldr="CYRILLIC_CAPITAL_LETTER_A" string="A" />
+	<translation encoding="ISO8859-2"
+	    cldr="CYRILLIC_SMALL_LETTER_A" string="a" />
+	<translation encoding="ISO8859-2"
+	    cldr="CYRILLIC_SMALL_LETTER_KA" string="k" />
+	<translation encoding="ISO8859-2"
+	    cldr="CYRILLIC_SMALL_LETTER_O" string="o" />
+	<translation encoding="ISO8859-2"
+	    cldr="CYRILLIC_CAPITAL_LETTER_DE" string="D" />
+	<translation encoding="ISO8859-2"
+	    cldr="CYRILLIC_SMALL_LETTER_DE" string="d" />
+	<translation encoding="ISO8859-2"
+	    cldr="CYRILLIC_CAPITAL_LETTER_IE" string="E" />
+	<translation encoding="ISO8859-2"
+	    cldr="CYRILLIC_SMALL_LETTER_IE" string="e" />
+	<translation encoding="ISO8859-2"
+	    cldr="CYRILLIC_CAPITAL_LETTER_EN" string="N" />
+	<translation encoding="ISO8859-2"
+	    cldr="CYRILLIC_SMALL_LETTER_EN" string="n" />
+	<translation encoding="ISO8859-2"
+	    cldr="CYRILLIC_SMALL_LETTER_BE" string="b" />
+	<translation encoding="ISO8859-2"
+	    cldr="CYRILLIC_SMALL_LETTER_ER" string="r" />
+	<translation encoding="ISO8859-2"
+	    cldr="CYRILLIC_SMALL_LETTER_JE" string="j" />
+	<translation encoding="ISO8859-2"
+	    cldr="CYRILLIC_SMALL_LETTER_EL" string="l" />
+	<translation encoding="ISO8859-2"
+	    cldr="CYRILLIC_SMALL_LETTER_GHE" string="g" />
+	<translation encoding="ISO8859-2"
+	    cldr="CYRILLIC_SMALL_LETTER_PE" string="p" />
+	<translation encoding="ISO8859-2"
+	    cldr="CYRILLIC_SMALL_LETTER_TE" string="t" />
+	<translation encoding="ISO8859-2"
+	    cldr="CYRILLIC_SMALL_LETTER_VE" string="v" />
 
 	<!-- Not sure why these ones aren't known by libiconv -->
 	<translation encoding="ISO8859-2" cldr="a" string="a" />