Add more compat code for non GNU environments
[oweals/busybox.git] / libbb / speed_table.c
index b04429e91a9f8ab53a141f639c63a81ddc8546a4..af676e1ebe01e240a867770e7135dfbf2caa483e 100644 (file)
@@ -4,23 +4,9 @@
  *
  * Copyright (C) 2003  Manuel Novoa III  <mjn3@codepoet.org>
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
  */
 
-#include <termios.h>
 #include "libbb.h"
 
 struct speed_map {
@@ -65,11 +51,14 @@ static const struct speed_map speeds[] = {
 #ifdef B460800
        {B460800, 460800/256 + 0x8000U},
 #endif
+#ifdef B921600
+       {B921600, 921600/256 + 0x8000U},
+#endif
 };
 
-static const int NUM_SPEEDS = (sizeof(speeds) / sizeof(struct speed_map));
+enum { NUM_SPEEDS = ARRAY_SIZE(speeds) };
 
-unsigned long bb_baud_to_value(speed_t speed)
+unsigned FAST_FUNC tty_baud_to_value(speed_t speed)
 {
        int i = 0;
 
@@ -85,12 +74,12 @@ unsigned long bb_baud_to_value(speed_t speed)
        return 0;
 }
 
-speed_t bb_value_to_baud(unsigned long value)
+speed_t FAST_FUNC tty_value_to_baud(unsigned int value)
 {
        int i = 0;
 
        do {
-               if (value == bb_baud_to_value(speeds[i].speed)) {
+               if (value == tty_baud_to_value(speeds[i].speed)) {
                        return speeds[i].speed;
                }
        } while (++i < NUM_SPEEDS);
@@ -107,8 +96,8 @@ int main(void)
        unsigned long v;
        speed_t s;
 
-       for (v = 0 ; v < 500000 ; v++) {
-               s = bb_value_to_baud(v);
+       for (v = 0 ; v < 1000000; v++) {
+               s = tty_value_to_baud(v);
                if (s == (speed_t) -1) {
                        continue;
                }
@@ -117,8 +106,8 @@ int main(void)
 
        printf("-------------------------------\n");
 
-       for (s = 0 ; s < 010017+1 ; s++) {
-               v = bb_baud_to_value(s);
+       for (s = 0 ; s < 010017+1; s++) {
+               v = tty_baud_to_value(s);
                if (!v) {
                        continue;
                }