home *** CD-ROM | disk | FTP | other *** search
- #!/usr/local/bin/kermit +
- #
- # l o g p o r t
- #
- # Logs incoming material from a serial port.
- # Typical uses: Logging PBX call records, logging messages from a
- # router control port, etc.
- #
- # Usage: logport [ logfilename ]
- #
- # F. da Cruz, Columbia University, 17 Apr 2004
- #
- .port := /dev/ttyS1 # Serial port to use (change as needed)
- if >= \v(argc) 2 { # Take log file name from command line
- .file := \fcontents(\%1) # Eval one level deep in case of backslashes
- } else while not def file { # Prompt for it if not given
- ask file " Log file name: "
- }
- if not writeable \m(file) { # Check write access to the log file
- exit 1 "\m(file): Not writeable"
- }
- set modem type none # No modem is involved
- set port /dev/ttyS1 # Or whatever port you are using
- if fail { # Check that port was obtained
- exit 1 \m(port): \v(setlinemsg)
- }
- set speed 9600 # Or whatever speed is needed
- set flow rts/cts # Or Xon/Xoff, or None
- set parity none # Or Even, Mark, Space, or Odd as needed
- # set carrier-watch off # Uncomment if there is no Carrier signal
- set session-log text # (or binary, or timestamped-text, etc)
- log session \m(file) # Start the session log
- if fail exit 1 # Make sure log was opened
- input /nomatch 23:59:59 # Log until midnight (requires 8.0.211)
- if fail { # Catch i/o errors
- exit 1 "\m(port): I/O error"
- }
- close session # Close the log
- exit 0
-