tserialport

Check-in [1abad86630]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:new option "open" for command tserialport::getports
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 1abad8663087cecd3efc251600872c2154e929728f03a2228a18b215fd00e8e8
User & Date: alex 2017-05-15 12:45:30
Context
2017-05-15
15:00
Version-1.1 check-in: 6abb5eeef8 user: alex tags: release, version-1.1, trunk
12:45
new option "open" for command tserialport::getports check-in: 1abad86630 user: alex tags: trunk
2017-05-11
12:52
Version-1.0 check-in: 891e4da357 user: alex tags: release, version-1.0, trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to autom4te.cache/output.0.

1
2
3
4
5
6
7
8
9
10
...
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
....
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
....
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
....
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
....
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
....
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
....
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
@%:@! /bin/sh
@%:@ Guess values for system-dependent variables and create Makefiles.
@%:@ Generated by GNU Autoconf 2.69 for tserialport 1.0.
@%:@ 
@%:@ 
@%:@ Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@%:@ 
@%:@ 
@%:@ This configure script is free software; the Free Software Foundation
@%:@ gives unlimited permission to copy, distribute and modify it.
................................................................................
subdirs=
MFLAGS=
MAKEFLAGS=

# Identity of this package.
PACKAGE_NAME='tserialport'
PACKAGE_TARNAME='tserialport'
PACKAGE_VERSION='1.0'
PACKAGE_STRING='tserialport 1.0'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''

# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
#ifdef HAVE_SYS_TYPES_H
................................................................................
#
# Report the --help message.
#
if test "$ac_init_help" = "long"; then
  # Omit some internal or obsolete options to make the list less imposing.
  # This message is too long to be a string in the A/UX 3.1 sh.
  cat <<_ACEOF
\`configure' configures tserialport 1.0 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.
................................................................................

  cat <<\_ACEOF
_ACEOF
fi

if test -n "$ac_init_help"; then
  case $ac_init_help in
     short | recursive ) echo "Configuration of tserialport 1.0:";;
   esac
  cat <<\_ACEOF

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
................................................................................
    cd "$ac_pwd" || { ac_status=$?; break; }
  done
fi

test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
  cat <<\_ACEOF
tserialport configure 1.0
generated by GNU Autoconf 2.69

Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
  exit
................................................................................
  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno

} @%:@ ac_fn_c_check_header_mongrel
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by tserialport $as_me 1.0, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $ $0 $@

_ACEOF
exec 5>>config.log
{
................................................................................
test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Save the log message, to keep $0 and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by tserialport $as_me 1.0, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  CONFIG_FILES    = $CONFIG_FILES
  CONFIG_HEADERS  = $CONFIG_HEADERS
  CONFIG_LINKS    = $CONFIG_LINKS
  CONFIG_COMMANDS = $CONFIG_COMMANDS
  $ $0 $@
................................................................................

Report bugs to the package provider."

_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
tserialport config.status 1.0
configured by $0, generated by GNU Autoconf 2.69,
  with options \\"\$ac_cs_config\\"

Copyright (C) 2012 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."



|







 







|
|







 







|







 







|







 







|







 







|







 







|







 







|







1
2
3
4
5
6
7
8
9
10
...
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
....
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
....
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
....
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
....
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
....
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
....
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
@%:@! /bin/sh
@%:@ Guess values for system-dependent variables and create Makefiles.
@%:@ Generated by GNU Autoconf 2.69 for tserialport 1.1.
@%:@ 
@%:@ 
@%:@ Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@%:@ 
@%:@ 
@%:@ This configure script is free software; the Free Software Foundation
@%:@ gives unlimited permission to copy, distribute and modify it.
................................................................................
subdirs=
MFLAGS=
MAKEFLAGS=

# Identity of this package.
PACKAGE_NAME='tserialport'
PACKAGE_TARNAME='tserialport'
PACKAGE_VERSION='1.1'
PACKAGE_STRING='tserialport 1.1'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''

# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
#ifdef HAVE_SYS_TYPES_H
................................................................................
#
# Report the --help message.
#
if test "$ac_init_help" = "long"; then
  # Omit some internal or obsolete options to make the list less imposing.
  # This message is too long to be a string in the A/UX 3.1 sh.
  cat <<_ACEOF
\`configure' configures tserialport 1.1 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.
................................................................................

  cat <<\_ACEOF
_ACEOF
fi

if test -n "$ac_init_help"; then
  case $ac_init_help in
     short | recursive ) echo "Configuration of tserialport 1.1:";;
   esac
  cat <<\_ACEOF

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
................................................................................
    cd "$ac_pwd" || { ac_status=$?; break; }
  done
fi

test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
  cat <<\_ACEOF
tserialport configure 1.1
generated by GNU Autoconf 2.69

Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
  exit
................................................................................
  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno

} @%:@ ac_fn_c_check_header_mongrel
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by tserialport $as_me 1.1, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $ $0 $@

_ACEOF
exec 5>>config.log
{
................................................................................
test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Save the log message, to keep $0 and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by tserialport $as_me 1.1, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  CONFIG_FILES    = $CONFIG_FILES
  CONFIG_HEADERS  = $CONFIG_HEADERS
  CONFIG_LINKS    = $CONFIG_LINKS
  CONFIG_COMMANDS = $CONFIG_COMMANDS
  $ $0 $@
................................................................................

Report bugs to the package provider."

_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
tserialport config.status 1.1
configured by $0, generated by GNU Autoconf 2.69,
  with options \\"\$ac_cs_config\\"

Copyright (C) 2012 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."

Changes to autom4te.cache/requests.

11
12
13
14
15
16
17
18
19
20
21
22

23
24
25
26
27
28
29
30
31
32
33
34
35
36



37
38
39
40
41
42
43
44
45
46
47
48
49

50

51
52
53
54
55
56
57
58
59
60
61
62


63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
                      ],
                      [
                        '/usr/local/share/autoconf/autoconf/autoconf.m4f',
                        'aclocal.m4',
                        'configure.in'
                      ],
                      {
                        'LT_SUPPORTED_TAG' => 1,
                        'AC_LIBSOURCE' => 1,
                        'm4_pattern_forbid' => 1,
                        'include' => 1,
                        'AC_CONFIG_SUBDIRS' => 1,

                        'LT_INIT' => 1,
                        'AM_PROG_AR' => 1,
                        'AM_PROG_MOC' => 1,
                        'AM_PATH_GUILE' => 1,
                        'LT_CONFIG_LTDL_DIR' => 1,
                        'AC_CANONICAL_SYSTEM' => 1,
                        '_AM_MAKEFILE_INCLUDE' => 1,
                        'AC_PROG_LIBTOOL' => 1,
                        'AM_PROG_CC_C_O' => 1,
                        '_AM_COND_ENDIF' => 1,
                        'AC_CANONICAL_HOST' => 1,
                        'AM_INIT_AUTOMAKE' => 1,
                        'AM_SILENT_RULES' => 1,
                        'AC_FC_FREEFORM' => 1,



                        '_AM_COND_IF' => 1,
                        'AC_CANONICAL_TARGET' => 1,
                        'AC_DEFINE_TRACE_LITERAL' => 1,
                        '_m4_warn' => 1,
                        'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
                        'AC_SUBST_TRACE' => 1,
                        'AM_PROG_CXX_C_O' => 1,
                        'AM_MAINTAINER_MODE' => 1,
                        '_LT_AC_TAGCONFIG' => 1,
                        'AC_CONFIG_FILES' => 1,
                        'AM_PROG_F77_C_O' => 1,
                        'AM_XGETTEXT_OPTION' => 1,
                        '_AM_COND_ELSE' => 1,

                        'AM_POT_TOOLS' => 1,

                        'AC_SUBST' => 1,
                        'AC_FC_PP_DEFINE' => 1,
                        'AC_CONFIG_AUX_DIR' => 1,
                        'AC_CANONICAL_BUILD' => 1,
                        'AC_REQUIRE_AUX_FILE' => 1,
                        'AH_OUTPUT' => 1,
                        'm4_sinclude' => 1,
                        'AM_AUTOMAKE_VERSION' => 1,
                        'AC_CONFIG_LIBOBJ_DIR' => 1,
                        'AM_NLS' => 1,
                        'AC_CONFIG_LINKS' => 1,
                        'AM_ENABLE_MULTILIB' => 1,


                        'AM_CONDITIONAL' => 1,
                        '_AM_SUBST_NOTMAKE' => 1,
                        'AC_FC_PP_SRCEXT' => 1,
                        'AC_INIT' => 1,
                        'AC_FC_SRCEXT' => 1,
                        'AM_MAKEFILE_INCLUDE' => 1,
                        'sinclude' => 1,
                        'AC_CONFIG_HEADERS' => 1,
                        'AM_PROG_FC_C_O' => 1,
                        'm4_pattern_allow' => 1,
                        'm4_include' => 1,
                        'AM_GNU_GETTEXT' => 1
                      }
                    ], 'Autom4te::Request' )
           );








|
|
|
<

>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>
>
>

|
<
<
<
|
|
|
|
|
<
<

>
|
>
|
|
|
|
|
|
|
|
|
|
|
|
>
>

<
<
|
|
|
|
|
|
|
|
|




11
12
13
14
15
16
17
18
19
20

21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41



42
43
44
45
46


47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65


66
67
68
69
70
71
72
73
74
75
76
77
78
                      ],
                      [
                        '/usr/local/share/autoconf/autoconf/autoconf.m4f',
                        'aclocal.m4',
                        'configure.in'
                      ],
                      {
                        '_AM_MAKEFILE_INCLUDE' => 1,
                        '_LT_AC_TAGCONFIG' => 1,
                        'LT_CONFIG_LTDL_DIR' => 1,

                        'AC_CONFIG_SUBDIRS' => 1,
                        'AM_MAKEFILE_INCLUDE' => 1,
                        'AC_SUBST_TRACE' => 1,
                        'AM_AUTOMAKE_VERSION' => 1,
                        'AC_CONFIG_LINKS' => 1,
                        'AC_FC_PP_DEFINE' => 1,
                        'AC_SUBST' => 1,
                        'AM_GNU_GETTEXT' => 1,
                        'sinclude' => 1,
                        'AC_CANONICAL_TARGET' => 1,
                        'AC_FC_FREEFORM' => 1,
                        'AM_PROG_FC_C_O' => 1,
                        'AC_FC_SRCEXT' => 1,
                        'AM_ENABLE_MULTILIB' => 1,
                        'AM_PROG_AR' => 1,
                        'm4_pattern_allow' => 1,
                        'AH_OUTPUT' => 1,
                        'LT_SUPPORTED_TAG' => 1,
                        'm4_pattern_forbid' => 1,
                        '_AM_COND_IF' => 1,
                        'AC_CANONICAL_BUILD' => 1,



                        'AC_CANONICAL_HOST' => 1,
                        '_AM_COND_ENDIF' => 1,
                        'AM_NLS' => 1,
                        'AC_REQUIRE_AUX_FILE' => 1,
                        'AC_LIBSOURCE' => 1,


                        '_AM_COND_ELSE' => 1,
                        'AM_MAINTAINER_MODE' => 1,
                        'AC_CONFIG_HEADERS' => 1,
                        'AM_INIT_AUTOMAKE' => 1,
                        'AM_PROG_CXX_C_O' => 1,
                        'AC_FC_PP_SRCEXT' => 1,
                        'include' => 1,
                        'AM_PROG_F77_C_O' => 1,
                        'AC_PROG_LIBTOOL' => 1,
                        'AM_PATH_GUILE' => 1,
                        'AM_PROG_CC_C_O' => 1,
                        'AC_INIT' => 1,
                        'AM_XGETTEXT_OPTION' => 1,
                        'AM_POT_TOOLS' => 1,
                        '_m4_warn' => 1,
                        'LT_INIT' => 1,
                        'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
                        'AM_SILENT_RULES' => 1,
                        'AM_CONDITIONAL' => 1,


                        'm4_include' => 1,
                        'AC_CONFIG_AUX_DIR' => 1,
                        'AC_CANONICAL_SYSTEM' => 1,
                        'AC_DEFINE_TRACE_LITERAL' => 1,
                        '_AM_SUBST_NOTMAKE' => 1,
                        'AC_CONFIG_LIBOBJ_DIR' => 1,
                        'AC_CONFIG_FILES' => 1,
                        'm4_sinclude' => 1,
                        'AM_PROG_MOC' => 1
                      }
                    ], 'Autom4te::Request' )
           );

Changes to autom4te.cache/traces.0.

1
2
3
4
5
6
7
8
m4trace:configure.in:22: -1- AC_INIT([tserialport], [1.0])
m4trace:configure.in:22: -1- m4_pattern_forbid([^_?A[CHUM]_])
m4trace:configure.in:22: -1- m4_pattern_forbid([_AC_])
m4trace:configure.in:22: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
m4trace:configure.in:22: -1- m4_pattern_allow([^AS_FLAGS$])
m4trace:configure.in:22: -1- m4_pattern_forbid([^_?m4_])
m4trace:configure.in:22: -1- m4_pattern_forbid([^dnl$])
m4trace:configure.in:22: -1- m4_pattern_forbid([^_?AS_])
|







1
2
3
4
5
6
7
8
m4trace:configure.in:22: -1- AC_INIT([tserialport], [1.1])
m4trace:configure.in:22: -1- m4_pattern_forbid([^_?A[CHUM]_])
m4trace:configure.in:22: -1- m4_pattern_forbid([_AC_])
m4trace:configure.in:22: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
m4trace:configure.in:22: -1- m4_pattern_allow([^AS_FLAGS$])
m4trace:configure.in:22: -1- m4_pattern_forbid([^_?m4_])
m4trace:configure.in:22: -1- m4_pattern_forbid([^dnl$])
m4trace:configure.in:22: -1- m4_pattern_forbid([^_?AS_])

Changes to configure.

1
2
3
4
5
6
7
8
9
10
...
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
....
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
....
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
....
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
....
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
....
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
....
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for tserialport 1.0.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
#
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
................................................................................
subdirs=
MFLAGS=
MAKEFLAGS=

# Identity of this package.
PACKAGE_NAME='tserialport'
PACKAGE_TARNAME='tserialport'
PACKAGE_VERSION='1.0'
PACKAGE_STRING='tserialport 1.0'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''

# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
#ifdef HAVE_SYS_TYPES_H
................................................................................
#
# Report the --help message.
#
if test "$ac_init_help" = "long"; then
  # Omit some internal or obsolete options to make the list less imposing.
  # This message is too long to be a string in the A/UX 3.1 sh.
  cat <<_ACEOF
\`configure' configures tserialport 1.0 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.
................................................................................

  cat <<\_ACEOF
_ACEOF
fi

if test -n "$ac_init_help"; then
  case $ac_init_help in
     short | recursive ) echo "Configuration of tserialport 1.0:";;
   esac
  cat <<\_ACEOF

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
................................................................................
    cd "$ac_pwd" || { ac_status=$?; break; }
  done
fi

test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
  cat <<\_ACEOF
tserialport configure 1.0
generated by GNU Autoconf 2.69

Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
  exit
................................................................................
  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno

} # ac_fn_c_check_header_mongrel
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by tserialport $as_me 1.0, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $ $0 $@

_ACEOF
exec 5>>config.log
{
................................................................................
test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Save the log message, to keep $0 and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by tserialport $as_me 1.0, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  CONFIG_FILES    = $CONFIG_FILES
  CONFIG_HEADERS  = $CONFIG_HEADERS
  CONFIG_LINKS    = $CONFIG_LINKS
  CONFIG_COMMANDS = $CONFIG_COMMANDS
  $ $0 $@
................................................................................

Report bugs to the package provider."

_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
tserialport config.status 1.0
configured by $0, generated by GNU Autoconf 2.69,
  with options \\"\$ac_cs_config\\"

Copyright (C) 2012 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."



|







 







|
|







 







|







 







|







 







|







 







|







 







|







 







|







1
2
3
4
5
6
7
8
9
10
...
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
....
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
....
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
....
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
....
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
....
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
....
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for tserialport 1.1.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
#
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
................................................................................
subdirs=
MFLAGS=
MAKEFLAGS=

# Identity of this package.
PACKAGE_NAME='tserialport'
PACKAGE_TARNAME='tserialport'
PACKAGE_VERSION='1.1'
PACKAGE_STRING='tserialport 1.1'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''

# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
#ifdef HAVE_SYS_TYPES_H
................................................................................
#
# Report the --help message.
#
if test "$ac_init_help" = "long"; then
  # Omit some internal or obsolete options to make the list less imposing.
  # This message is too long to be a string in the A/UX 3.1 sh.
  cat <<_ACEOF
\`configure' configures tserialport 1.1 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.
................................................................................

  cat <<\_ACEOF
_ACEOF
fi

if test -n "$ac_init_help"; then
  case $ac_init_help in
     short | recursive ) echo "Configuration of tserialport 1.1:";;
   esac
  cat <<\_ACEOF

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
................................................................................
    cd "$ac_pwd" || { ac_status=$?; break; }
  done
fi

test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
  cat <<\_ACEOF
tserialport configure 1.1
generated by GNU Autoconf 2.69

Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
  exit
................................................................................
  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno

} # ac_fn_c_check_header_mongrel
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by tserialport $as_me 1.1, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $ $0 $@

_ACEOF
exec 5>>config.log
{
................................................................................
test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Save the log message, to keep $0 and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by tserialport $as_me 1.1, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  CONFIG_FILES    = $CONFIG_FILES
  CONFIG_HEADERS  = $CONFIG_HEADERS
  CONFIG_LINKS    = $CONFIG_LINKS
  CONFIG_COMMANDS = $CONFIG_COMMANDS
  $ $0 $@
................................................................................

Report bugs to the package provider."

_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
tserialport config.status 1.1
configured by $0, generated by GNU Autoconf 2.69,
  with options \\"\$ac_cs_config\\"

Copyright (C) 2012 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."

Changes to configure.in.

15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# This initializes the environment with PACKAGE_NAME and PACKAGE_VERSION
# set as provided.  These will also be added as -D defs in your Makefile
# so you can encode the package version directly into the source files.
# This will also define a special symbol for Windows (BUILD_<PACKAGE_NAME>
# so that we create the export library with the dll.
#-----------------------------------------------------------------------

AC_INIT([tserialport], [1.0])

#--------------------------------------------------------------------
# Call TEA_INIT as the first TEA_ macro to set up initial vars.
# This will define a ${TEA_PLATFORM} variable == "unix" or "windows"
# as well as PKG_LIB_FILE and PKG_STUB_LIB_FILE.
#--------------------------------------------------------------------








|







15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# This initializes the environment with PACKAGE_NAME and PACKAGE_VERSION
# set as provided.  These will also be added as -D defs in your Makefile
# so you can encode the package version directly into the source files.
# This will also define a special symbol for Windows (BUILD_<PACKAGE_NAME>
# so that we create the export library with the dll.
#-----------------------------------------------------------------------

AC_INIT([tserialport], [1.1])

#--------------------------------------------------------------------
# Call TEA_INIT as the first TEA_ macro to set up initial vars.
# This will define a ${TEA_PLATFORM} variable == "unix" or "windows"
# as well as PKG_LIB_FILE and PKG_STUB_LIB_FILE.
#--------------------------------------------------------------------

Changes to generic/tserialport.c.

59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
















79
80
81
82
83
84
85
...
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155





156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324

325
326
327
328
329
330
331
#include <libserialport.h>

#ifndef FALSE
#define FALSE 0
#define TRUE (!FALSE)
#endif

static char rcs[] = "@(#)tserialport.c $Revision: 1.1 $ $Date: 2017/05/11 08:11:16 $ (BSD 3 License) Alexander Schoepe, Bochum, DE";


static int Tserialport_Getports (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) {
  Tcl_Obj *keyv[2];
  enum sp_return rc;
  struct sp_port **ports, *port;
  struct sp_port_config *conf;
  int i = 0, en, mode = SP_MODE_READ;
  int usb_bus, usb_address, usb_vid, usb_pid, baudrate, bits, stopbits;
  char *cp, *name, *description, *manufacturer, *product, *serial, *bluetooth;

  Tcl_Obj *dObjPtr = Tcl_NewDictObj();

















  if ((rc = sp_new_config(&conf)) == SP_OK) {
    if ((rc = sp_list_ports(&ports)) == SP_OK) {
      port = ports[i];
      while (port != NULL) {
	keyv[0] = Tcl_NewIntObj(i);

................................................................................
	if (sp_get_port_usb_bus_address(port, &usb_bus, &usb_address) == SP_OK) {
	  keyv[1] = Tcl_NewStringObj("usb_bus", -1);
	  Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_ObjPrintf("0x%x", usb_bus));
	  keyv[1] = Tcl_NewStringObj("usb_address", -1);
	  Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_ObjPrintf("0x%x", usb_address));
	}

	if ((rc = sp_open(port, mode)) == SP_OK) {
	  keyv[1] = Tcl_NewStringObj("open", -1);
	  Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewStringObj("true", -1));

	  switch (sp_get_port_transport(port)) {
	    case SP_TRANSPORT_NATIVE:
	      cp = "native";
	      break;
	    case SP_TRANSPORT_USB:
	      cp = "usb";
	      break;
	    case SP_TRANSPORT_BLUETOOTH:
	      cp = "bluetooth";
	      break;
	    default:
	      cp = "unknown";
	  }
	  keyv[1] = Tcl_NewStringObj("transport", -1);
	  Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewStringObj(cp, -1));






	  if (sp_get_config(port, conf) == SP_OK) {
	    if (sp_get_config_baudrate(conf, &baudrate) == SP_OK) {
	      keyv[1] = Tcl_NewStringObj("baudrate", -1);
	      Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewIntObj(baudrate));
	    }

	    if (sp_get_config_bits(conf, &bits) == SP_OK) {
	      keyv[1] = Tcl_NewStringObj("bits", -1);
	      Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewIntObj(bits));
	    }

	    if (sp_get_config_parity(conf, &en) == SP_OK) {
	      switch (en) {
		case SP_PARITY_INVALID:
		  cp = "invalid";
		  break;
		case SP_PARITY_NONE:
		  cp = "none";
		  break;
		case SP_PARITY_ODD:
		  cp = "odd";
		  break;
		case SP_PARITY_EVEN:
		  cp = "even";
		  break;
		case SP_PARITY_MARK:
		  cp = "mark";
		  break;
		case SP_PARITY_SPACE:
		  cp = "space";
		  break;
		default:
		  cp = "unknown";
	      }
	      keyv[1] = Tcl_NewStringObj("parity", -1);
	      Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewStringObj(cp, -1));
	    }

	    if (sp_get_config_stopbits(conf, &stopbits) == SP_OK) {
	      keyv[1] = Tcl_NewStringObj("stopbits", -1);
	      Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewIntObj(stopbits));
	    }

	    if (sp_get_config_cts(conf, &en) == SP_OK) {
	      switch (en) {
		case SP_CTS_INVALID:
		  cp = "invalid";
		  break;
		case SP_CTS_IGNORE:
		  cp = "ignore";
		  break;
		case SP_CTS_FLOW_CONTROL:
		  cp = "flow control";
		  break;
		default:
		  cp = "unknown";
	      }
	      keyv[1] = Tcl_NewStringObj("cts", -1);
	      Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewStringObj(cp, -1));
	    }

	    if (sp_get_config_dsr(conf, &en) == SP_OK) {
	      switch (en) {
		case SP_DSR_INVALID:
		  cp = "invalid";
		  break;
		case SP_DSR_IGNORE:
		  cp = "ignore";
		  break;
		case SP_DSR_FLOW_CONTROL:
		  cp = "flow control";
		  break;
		default:
		  cp = "unknown";
	      }
	      keyv[1] = Tcl_NewStringObj("dsr", -1);
	      Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewStringObj(cp, -1));
	    }

	    if (sp_get_config_dtr(conf, &en) == SP_OK) {
	      switch (en) {
		case SP_DTR_INVALID:
		  cp = "invalid";
		  break;
		case SP_DTR_OFF:
		  cp = "off";
		  break;
		case SP_DTR_ON:
		  cp = "on";
		  break;
		case SP_DTR_FLOW_CONTROL:
		  cp = "flow control";
		  break;
		default:
		  cp = "unknown";
	      }
	      keyv[1] = Tcl_NewStringObj("dtr", -1);
	      Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewStringObj(cp, -1));
	    }

	    if (sp_get_config_rts(conf, &en) == SP_OK) {
	      switch (en) {
		case SP_RTS_INVALID:
		  cp = "invalid";
		  break;
		case SP_RTS_OFF:
		  cp = "off";
		  break;
		case SP_RTS_ON:
		  cp = "on";
		  break;
		case SP_RTS_FLOW_CONTROL:
		  cp = "flow control";
		  break;
		default:
		  cp = "unknown";
	      }
	      keyv[1] = Tcl_NewStringObj("rts", -1);
	      Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewStringObj(cp, -1));
	    }

	    if (sp_get_config_xon_xoff(conf, &en) == SP_OK) {
	      switch (en) {
		case SP_XONXOFF_INVALID:
		  cp = "invalid";
		  break;
		case SP_XONXOFF_DISABLED:
		  cp = "disabled";
		  break;
		case SP_XONXOFF_IN:
		  cp = "in";
		  break;
		case SP_XONXOFF_OUT:
		  cp = "out";
		  break;
		case SP_XONXOFF_INOUT:
		  cp = "in out";
		  break;
		default:
		  cp = "unknown";
	      }
	      keyv[1] = Tcl_NewStringObj("xon_xoff", -1);
	      Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewStringObj(cp, -1));
	    }
	  }

	  sp_close(port);
	} else {
	  switch (rc) {
	    case SP_OK:
	      cp = "operation completed successfully";
	      break;
	    case SP_ERR_ARG:
	      cp = "invalid arguments were passed to the function";
	      break;
	    case SP_ERR_FAIL:
	      cp = "a system error occurred while executing the operation";
	      break;
	    case SP_ERR_MEM:
	      cp = "a memory allocation failed while executing the operation";
	      break;
	    case SP_ERR_SUPP:
	      cp = "the requested operation is not supported by this system or device";
	      break;
	    default:
	      cp = "unknown";
	  }
	  keyv[1] = Tcl_NewStringObj("open", -1);
	  Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewStringObj(cp, -1));

	}
	port = ports[++i];
      }
    }
    if (ports != NULL) sp_free_port_list(ports);
  }
  if (conf != NULL) sp_free_config(conf);







|










<

>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







<
<
<
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

>
>
>
>
>
|
|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>







59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76

77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
...
144
145
146
147
148
149
150




151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
#include <libserialport.h>

#ifndef FALSE
#define FALSE 0
#define TRUE (!FALSE)
#endif

static char rcs[] = "@(#)tserialport.c $Revision: 1.2 $ $Date: 2017/05/15 12:45:30 $ (BSD 3 License) Alexander Schoepe, Bochum, DE";


static int Tserialport_Getports (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) {
  Tcl_Obj *keyv[2];
  enum sp_return rc;
  struct sp_port **ports, *port;
  struct sp_port_config *conf;
  int i = 0, en, mode = SP_MODE_READ;
  int usb_bus, usb_address, usb_vid, usb_pid, baudrate, bits, stopbits;
  char *cp, *name, *description, *manufacturer, *product, *serial, *bluetooth;

  Tcl_Obj *dObjPtr = Tcl_NewDictObj();

  static const char *const command[] = {
    "open", NULL
  };
  enum command {
    TSP_OPEN, TSP_IGNORE
  } cmd;
  cmd = TSP_IGNORE;

  if (objc > 2) {
    Tcl_WrongNumArgs(interp, 1, objv, "?open?");
    return TCL_ERROR;
  }
  if (objc == 2) {
    if (Tcl_GetIndexFromObj(interp, objv[1], command, "command", 0, (int *)&cmd) != TCL_OK) return TCL_ERROR;
  }

  if ((rc = sp_new_config(&conf)) == SP_OK) {
    if ((rc = sp_list_ports(&ports)) == SP_OK) {
      port = ports[i];
      while (port != NULL) {
	keyv[0] = Tcl_NewIntObj(i);

................................................................................
	if (sp_get_port_usb_bus_address(port, &usb_bus, &usb_address) == SP_OK) {
	  keyv[1] = Tcl_NewStringObj("usb_bus", -1);
	  Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_ObjPrintf("0x%x", usb_bus));
	  keyv[1] = Tcl_NewStringObj("usb_address", -1);
	  Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_ObjPrintf("0x%x", usb_address));
	}





	switch (sp_get_port_transport(port)) {
	  case SP_TRANSPORT_NATIVE:
	    cp = "native";
	    break;
	  case SP_TRANSPORT_USB:
	    cp = "usb";
	    break;
	  case SP_TRANSPORT_BLUETOOTH:
	    cp = "bluetooth";
	    break;
	  default:
	    cp = "unknown";
	}
	keyv[1] = Tcl_NewStringObj("transport", -1);
	Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewStringObj(cp, -1));

	if (cmd == TSP_OPEN) {
	  if ((rc = sp_open(port, mode)) == SP_OK) {
	    keyv[1] = Tcl_NewStringObj("open", -1);
	    Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewStringObj("true", -1));

	    if (sp_get_config(port, conf) == SP_OK) {
	      if (sp_get_config_baudrate(conf, &baudrate) == SP_OK) {
		keyv[1] = Tcl_NewStringObj("baudrate", -1);
		Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewIntObj(baudrate));
	      }

	      if (sp_get_config_bits(conf, &bits) == SP_OK) {
		keyv[1] = Tcl_NewStringObj("bits", -1);
		Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewIntObj(bits));
	      }

	      if (sp_get_config_parity(conf, &en) == SP_OK) {
		switch (en) {
		  case SP_PARITY_INVALID:
		    cp = "invalid";
		    break;
		  case SP_PARITY_NONE:
		    cp = "none";
		    break;
		  case SP_PARITY_ODD:
		    cp = "odd";
		    break;
		  case SP_PARITY_EVEN:
		    cp = "even";
		    break;
		  case SP_PARITY_MARK:
		    cp = "mark";
		    break;
		  case SP_PARITY_SPACE:
		    cp = "space";
		    break;
		  default:
		    cp = "unknown";
		}
		keyv[1] = Tcl_NewStringObj("parity", -1);
		Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewStringObj(cp, -1));
	      }

	      if (sp_get_config_stopbits(conf, &stopbits) == SP_OK) {
		keyv[1] = Tcl_NewStringObj("stopbits", -1);
		Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewIntObj(stopbits));
	      }

	      if (sp_get_config_cts(conf, &en) == SP_OK) {
		switch (en) {
		  case SP_CTS_INVALID:
		    cp = "invalid";
		    break;
		  case SP_CTS_IGNORE:
		    cp = "ignore";
		    break;
		  case SP_CTS_FLOW_CONTROL:
		    cp = "flow control";
		    break;
		  default:
		    cp = "unknown";
		}
		keyv[1] = Tcl_NewStringObj("cts", -1);
		Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewStringObj(cp, -1));
	      }

	      if (sp_get_config_dsr(conf, &en) == SP_OK) {
		switch (en) {
		  case SP_DSR_INVALID:
		    cp = "invalid";
		    break;
		  case SP_DSR_IGNORE:
		    cp = "ignore";
		    break;
		  case SP_DSR_FLOW_CONTROL:
		    cp = "flow control";
		    break;
		  default:
		    cp = "unknown";
		}
		keyv[1] = Tcl_NewStringObj("dsr", -1);
		Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewStringObj(cp, -1));
	      }

	      if (sp_get_config_dtr(conf, &en) == SP_OK) {
		switch (en) {
		  case SP_DTR_INVALID:
		    cp = "invalid";
		    break;
		  case SP_DTR_OFF:
		    cp = "off";
		    break;
		  case SP_DTR_ON:
		    cp = "on";
		    break;
		  case SP_DTR_FLOW_CONTROL:
		    cp = "flow control";
		    break;
		  default:
		    cp = "unknown";
		}
		keyv[1] = Tcl_NewStringObj("dtr", -1);
		Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewStringObj(cp, -1));
	      }

	      if (sp_get_config_rts(conf, &en) == SP_OK) {
		switch (en) {
		  case SP_RTS_INVALID:
		    cp = "invalid";
		    break;
		  case SP_RTS_OFF:
		    cp = "off";
		    break;
		  case SP_RTS_ON:
		    cp = "on";
		    break;
		  case SP_RTS_FLOW_CONTROL:
		    cp = "flow control";
		    break;
		  default:
		    cp = "unknown";
		}
		keyv[1] = Tcl_NewStringObj("rts", -1);
		Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewStringObj(cp, -1));
	      }

	      if (sp_get_config_xon_xoff(conf, &en) == SP_OK) {
		switch (en) {
		  case SP_XONXOFF_INVALID:
		    cp = "invalid";
		    break;
		  case SP_XONXOFF_DISABLED:
		    cp = "disabled";
		    break;
		  case SP_XONXOFF_IN:
		    cp = "in";
		    break;
		  case SP_XONXOFF_OUT:
		    cp = "out";
		    break;
		  case SP_XONXOFF_INOUT:
		    cp = "in out";
		    break;
		  default:
		    cp = "unknown";
		}
		keyv[1] = Tcl_NewStringObj("xon_xoff", -1);
		Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewStringObj(cp, -1));
	      }
	    }

	    sp_close(port);
	  } else {
	    switch (rc) {
	      case SP_OK:
		cp = "operation completed successfully";
		break;
	      case SP_ERR_ARG:
		cp = "invalid arguments were passed to the function";
		break;
	      case SP_ERR_FAIL:
		cp = "a system error occurred while executing the operation";
		break;
	      case SP_ERR_MEM:
		cp = "a memory allocation failed while executing the operation";
		break;
	      case SP_ERR_SUPP:
		cp = "the requested operation is not supported by this system or device";
		break;
	      default:
		cp = "unknown";
	    }
	    keyv[1] = Tcl_NewStringObj("open", -1);
	    Tcl_DictObjPutKeyList(interp, dObjPtr, 2, keyv, Tcl_NewStringObj(cp, -1));
	  }
	}
	port = ports[++i];
      }
    }
    if (ports != NULL) sp_free_port_list(ports);
  }
  if (conf != NULL) sp_free_config(conf);