home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM Magic 1995 #1 / CDM_5.ISO / shell / bbs / synchro / valhalla.src < prev    next >
Encoding:
Text File  |  1995-07-02  |  15.0 KB  |  1,074 lines

  1. # VALHALLA.SRC
  2.  
  3. # Copyright 1994 Valhalla BBS
  4.  
  5. ###############################################################################
  6. #                                                                             #
  7. # Default Command Shell for Valhalla BBS                                      #
  8. #                                                                             #
  9. # It also serves as an example of a complex command shell using the Baja      #
  10. # command shell language                                                      #
  11. #                                                                             #
  12. ###############################################################################
  13.  
  14. # Tips:
  15. #
  16. #       Tabstops should be set to 8 to view/edit this file
  17. #       If your editor does not support control characters,
  18. #               use \1 instead of  for Ctrl-A codes
  19. #       All lines starting with # are considered comments and are ignored
  20. #       Left margins (indents) are not relevant and used only for clearity
  21. #       Almost everything is not case sensitive with the exception of @-codes
  22.  
  23. ################################# Begins Here #################################
  24.  
  25. # Set return point for main menu commands (via end_cmd)
  26. cmd_home
  27.  
  28. # Display TEXT\MENU\MAIN.* if not in expert mode
  29. compare_user_misc expert
  30. if_false
  31.     cls
  32.     menu \VALHALLA\VALMAIN
  33.     end_if
  34.  
  35. # Update node status
  36. node_action main
  37. async
  38.  
  39. inc_main_cmds
  40.  
  41. # Display main Prompt
  42. compare_ars exempt T
  43. if_true
  44.     print \r\n\n"nc■Time @TUSED@ nc■"
  45. else
  46.     print \r\n\n"nc■Time @TLEFT@ nc■"
  47.     end_if
  48. print " bhYour Command @ALIAS@? nc"
  49.  
  50. # Get key (with / extended commands allowed)
  51. compare_user_misc COLDKEYS
  52. if_false
  53.     getkeye
  54. else
  55.     getstrupr 60
  56.     endif
  57.  
  58. compare_ars RIP
  59. if_true
  60.     getlines
  61.     end_if
  62.  
  63. # Do nothing for control keys and space
  64. cmdkey ^@
  65.     end_cmd
  66. cmdkey ^M
  67.     end_cmd
  68. cmdkey ^S
  69.     end_cmd
  70.  cmdkey  "
  71.     end_cmd
  72.  
  73. # Write command to log file
  74. logkey_comma
  75.  
  76. # Show the key hit
  77. compare_user_misc COLDKEYS
  78. if_false
  79.     printkey
  80.     endif
  81.  
  82. # String commands start with a semicolon
  83. cmdkey ;
  84.     compare_user_misc COLDKEYS
  85.     if_true
  86.         shift_str 1
  87.     else
  88.         getstrupr 40
  89.         end_if
  90.     exec_bin str_cmds
  91.     end_cmd
  92.  
  93. cmdkey F
  94.     chkfile ..\text\menu\tmessage.*
  95.     if_true
  96.         menu tmessage
  97.         end_if
  98.     call file_transfers
  99.     end_cmd
  100.  
  101. compare_user_misc COLDKEYS
  102. if_false
  103.     crlf
  104.     end_if
  105. pause_reset
  106.  
  107. # Menu
  108. cmdkey ?
  109.     compare_user_misc expert
  110.     if_true
  111.         menu main
  112.         end_if
  113.     end_cmd
  114.  
  115. # Sysop Menu
  116. compare_ars SYSOP or EXEMPT Q or I or N
  117. if_true
  118.     cmdkey !
  119.         menu sysmain
  120.         end_cmd
  121.     end_if
  122.  
  123. # Commands
  124.  
  125. cmdkey B
  126.     minute_bank
  127.     end_cmd
  128.  
  129. cmdkey C
  130.     chat_section
  131.     end_cmd
  132.  
  133. cmdkey D
  134.     xtrn_section
  135.     end_cmd
  136.  
  137. cmdkey E
  138.     call E-mail
  139.     end_cmd
  140.  
  141. cmdkey G
  142.     file_download_batch
  143.     if_true
  144.         end_cmd
  145.         end_if
  146.     logoff
  147.     end_cmd
  148.  
  149. cmdkey I
  150.     call main_info
  151.     end_cmd
  152.  
  153. cmdkey M
  154.     call Messages
  155.     end_cmd
  156.  
  157. cmdkey N
  158.     nodelist_all
  159.     end_cmd
  160.  
  161. cmdkey S
  162.     text_file_section
  163.     end_cmd
  164.  
  165. cmdkey U
  166.     print "\r\nchList Users\r\n"
  167.     mnemonics "\r\n~Logons Today, ~Sub-board, or ~All: "
  168.     getcmd LSA\r
  169.  
  170.     cmdkey L
  171.         userlist_logons
  172.         end_cmd
  173.     cmdkey S
  174.         userlist_sub
  175.         end_cmd
  176.     cmdkey A
  177.         userlist_all
  178.         end_cmd
  179.  
  180.     # fall-through for CR, Ctrl-C, etc
  181.     end_cmd
  182.  
  183. cmdkey Y
  184.     user_defaults
  185.     end_cmd
  186.  
  187. # fall through
  188. print "\r\nchUnrecognized command."
  189. compare_user_misc expert
  190. if_true
  191.     print " Hit 'i?nch' for a menu."
  192.     end_if
  193. crlf
  194. end_cmd
  195.  
  196. # shouldn't hit next line
  197. print "Problem in command shell."
  198. pause
  199. hangup
  200.  
  201. ############################### Message Section ###############################
  202. :messages
  203. cmd_home
  204.  
  205. compare_user_misc expert
  206. if_false
  207.     cls
  208.     menu \VALHALLA\VALMESS
  209.     end_if
  210.  
  211. # Display main Prompt
  212. compare_ars exempt T
  213. if_true
  214.     print \r\n\n"nc■Time @TUSED@ nc■"
  215. else
  216.     print \r\n\n"nc■Time @TLEFT@ nc■"
  217.     end_if
  218. print " bhYour Command @ALIAS@? nc"
  219.  
  220. #Get key (with / extended commands allowed)
  221. compare_user_misc COLDKEYS
  222. if_false
  223.     getkeye
  224. else
  225.     getstrupr 60
  226.     endif
  227.  
  228. # Do nothing for control keys and space
  229. cmdkey ^@
  230.     end_cmd
  231. cmdkey ^M
  232.     end_cmd
  233. cmdkey ^S
  234.     end_cmd
  235.  cmdkey  "
  236.     end_cmd
  237.  
  238. # Write command to log file
  239. logkey_comma
  240.  
  241. # Hitting number changes current sub-board
  242. cmdkey digit
  243.     compare_user_misc COLDKEYS
  244.     if_false
  245.         ungetkey
  246.         end_if
  247.     msg_get_sub_num
  248.     end_cmd
  249.  
  250. # Hitting /number changes current group
  251. cmdkey edigit
  252.     compare_user_misc COLDKEYS
  253.     if_false
  254.         ungetkey
  255.     else
  256.         shift_str 1
  257.         end_if
  258.     msg_get_grp_num
  259.     end_cmd
  260.  
  261. # Show the key hit
  262. compare_user_misc COLDKEYS
  263. if_false
  264.     printkey
  265.     endif
  266.  
  267. # Next sub-board
  268. cmdkey >
  269.     msg_subboard_up
  270.     end_cmd
  271. cmdkey }
  272.     msg_subboard_up
  273.     end_cmd
  274. cmdkey +
  275.     msg_subboard_up
  276.     end_cmd
  277. cmdkey =
  278.     msg_subboard_up
  279.     end_cmd
  280.  
  281. # Previous sub-board
  282. cmdkey <
  283.     msg_subboard_down
  284.     end_cmd
  285. cmdkey {
  286.     msg_subboard_down
  287.     end_cmd
  288. cmdkey -
  289.     msg_subboard_down
  290.     end_cmd
  291.  
  292. # Next group
  293. cmdkey ]
  294.     msg_group_up
  295.     end_cmd
  296.  
  297. # Previous group
  298. cmdkey [
  299.     msg_group_down
  300.     end_cmd
  301.  
  302. # String commands start with a semicolon
  303. cmdkey ;
  304.     compare_user_misc COLDKEYS
  305.     if_true
  306.         shift_str 1
  307.     else
  308.         getstrupr 40
  309.         end_if
  310.     exec_bin str_cmds
  311.     end_cmd
  312.  
  313. cmdkey F
  314.     chkfile ..\text\menu\tmessage.*
  315.     if_true
  316.         menu tmessage
  317.         end_if
  318.     call file_transfers
  319.         #return for clearing the stack of previous areas
  320.         cmd_pop
  321.         return
  322.     end_cmd
  323.  
  324. compare_user_misc COLDKEYS
  325. if_false
  326.     crlf
  327.     end_if
  328. pause_reset
  329.  
  330. # Menu
  331. cmdkey ?
  332.     compare_user_misc expert
  333.     if_true
  334.         menu main
  335.         end_if
  336.     end_cmd
  337.  
  338. # Sysop Menu
  339. compare_ars SYSOP or EXEMPT Q or I or N
  340. if_true
  341.     cmdkey !
  342.         menu sysmain
  343.         end_cmd
  344.     end_if
  345.  
  346. # Commands
  347.  
  348. cmdkey A
  349.     auto_message
  350.     end_cmd
  351.  
  352. cmdkey B
  353.     print "\r\nchBrowse/New Message Scan\r\n"
  354.     msg_browse_scan
  355.     end_cmd
  356.  
  357. cmdkey C
  358.     chat_section
  359.     end_cmd
  360.  
  361. cmdkey Y
  362.     user_defaults
  363.     end_cmd
  364.  
  365. cmdkey E
  366.     call E-mail
  367.     end_cmd
  368.  
  369. cmdkey T
  370.     print "\r\nchFind Text in Messages\r\n"
  371.     msg_find_text
  372.     end_cmd
  373.  
  374. cmdkey /T
  375.     msg_find_text_all
  376.     end_cmd
  377.  
  378. cmdkey I
  379.     call main_info
  380.     end_cmd
  381.  
  382. cmdkey J
  383.     msg_select_area
  384.     end_cmd
  385.  
  386. cmdkey N
  387.     print "\r\nchNew Message Scan\r\n"
  388.     msg_new_scan
  389.     end_cmd
  390.  
  391. cmdkey /N
  392.     msg_new_scan_all
  393.     end_cmd
  394.  
  395. cmdkey G
  396.     file_download_batch
  397.     if_true
  398.         end_cmd
  399.         end_if
  400.     logoff
  401.     end_cmd
  402.  
  403. cmdkey /G
  404.     file_download_batch
  405.     if_true
  406.         end_cmd
  407.         end_if
  408.     logoff_fast
  409.     end_cmd
  410.  
  411. cmdkey P
  412.     msg_post
  413.     end_cmd
  414.  
  415. cmdkey Q
  416.     cmd_pop
  417.     return
  418.     end_cmd
  419.  
  420. cmdkey /Q
  421.     msg_qwk
  422.     end_cmd
  423.  
  424. cmdkey R
  425.     msg_read
  426.     end_cmd
  427.  
  428. cmdkey S
  429.     print "\r\nchScan for Messages Posted to You\r\n"
  430.     msg_your_scan
  431.     end_cmd
  432.  
  433. cmdkey /S
  434.     msg_your_scan_all
  435.     end_cmd
  436.  
  437. cmdkey U
  438.     print "\r\nchList Users\r\n"
  439.     mnemonics "\r\n~Logons Today, ~Sub-board, or ~All: "
  440.     getcmd LSA\r
  441.  
  442.     cmdkey L
  443.         userlist_logons
  444.         end_cmd
  445.     cmdkey S
  446.         userlist_sub
  447.         end_cmd
  448.     cmdkey A
  449.         userlist_all
  450.         end_cmd
  451.  
  452.     # fall-through for CR, Ctrl-C, etc
  453.     end_cmd
  454.  
  455. cmdkey /U
  456.     userlist_all
  457.     end_cmd
  458.  
  459. cmdkey D
  460.     xtrn_section
  461.     end_cmd
  462.  
  463. cmdkey Z
  464.     print "\r\nchContinuous New Message Scan\r\n"
  465.     msg_cont_scan
  466.     end_cmd
  467.  
  468. cmdkey /Z
  469.     msg_cont_scan_all
  470.     end_cmd
  471.  
  472. cmdkey *
  473.     msg_show_subboards
  474.     end_cmd
  475.  
  476. cmdkey /*
  477.     msg_show_groups
  478.     end_cmd
  479.  
  480. cmdkey &
  481.     call main_cfg
  482.     end_cmd
  483.  
  484. cmdkey #
  485.     print "\r\nchType the actual number, not the symbol.\r\n"
  486.     end_cmd
  487.  
  488. cmdkey /#
  489.     print "\r\nchType the actual number, not the symbol.\r\n"
  490.     end_cmd
  491.  
  492. #cmd_pop
  493. #return
  494.  
  495. # fall through
  496. print "\r\nchUnrecognized command."
  497. compare_user_misc expert
  498. if_true
  499.     print " Hit 'i?nch' for a menu."
  500.     end_if
  501. crlf
  502. end_cmd
  503.  
  504. # shouldn't hit next line
  505. print "Problem in command shell."
  506. pause
  507. hangup
  508.  
  509.  
  510. ############################### E-mail Section ################################
  511.  
  512. :e-mail
  513. cmd_home
  514.  
  515. compare_user_misc expert
  516. if_false
  517.     menu E-MAIL
  518.     end_if
  519. async
  520. print "\r\nyhE-mail: n"
  521. getcmd ?SRFNUKQ\r
  522. logkey
  523.  
  524. cmdkey ?
  525.     compare_user_misc expert
  526.     if_true
  527.         menu E-MAIL
  528.         end_if
  529.     end_cmd
  530.  
  531. cmdkey S
  532.     print "_\r\nbhE-mail (User name or number): w"
  533.     getname 25
  534.     compare_str ""
  535.     if_true
  536.         end_cmd
  537.         end_if
  538.     compare_str "SYSOP"
  539.     if_true
  540.         setstr "1"
  541.         end_if
  542.     mail_send
  543.     end_cmd
  544.  
  545. cmdkey U
  546.     print "_\r\nbhE-mail (User name or number): w"
  547.     getname 25
  548.     compare_str ""
  549.     if_true
  550.         end_cmd
  551.         end_if
  552.     compare_str "SYSOP"
  553.     if_true
  554.         setstr "1"
  555.         end_if
  556.     mail_send_file
  557.     end_cmd
  558.  
  559. cmdkey R
  560.     mail_read
  561.     end_cmd
  562.  
  563. cmdkey F
  564.     setstr "1"
  565.     mail_send_feedback
  566.     end_cmd
  567.  
  568. cmdkey N
  569.     mail_send_netmail
  570.     end_cmd
  571.  
  572. cmdkey K
  573.     mail_read_sent
  574.     end_cmd
  575.  
  576. cmdkey Q
  577.     cmd_pop
  578.     return
  579.     end_cmd
  580.  
  581. cmd_pop
  582. return
  583.  
  584. ############################ Main Info Section  ###############################
  585.  
  586. :main_info
  587. cmd_home
  588. compare_user_misc expert
  589. if_false
  590.     menu MAININFO
  591.     end_if
  592. async
  593. print "\r\nyhInfo: n"
  594. getcmd ?QISVY\r
  595. logkey
  596.  
  597. cmdkey ?
  598.     compare_user_misc expert
  599.     if_true
  600.         menu MAININFO
  601.         end_if
  602.     end_cmd
  603.  
  604. cmdkey I
  605.     info_system
  606.     end_cmd
  607.  
  608. cmdkey S
  609.     info_subboard
  610.     end_cmd
  611.  
  612. cmdkey Y
  613.     info_user
  614.     end_cmd
  615.  
  616. cmdkey V
  617.     info_version
  618.     end_cmd
  619.  
  620. cmdkey Q
  621.     cmd_pop
  622.     return
  623.     end_cmd
  624.  
  625. cmd_pop
  626. return
  627.  
  628. ########################### Main Config Section  ##############################
  629.  
  630. :main_cfg
  631.  
  632. compare_user_misc expert
  633. if_false
  634.     menu MAINCFG
  635.     end_if
  636. async
  637. print "\r\nyhConfig: n"
  638. getcmd ?QNPIS\r
  639. logkey
  640.  
  641. cmdkey ?
  642.     compare_user_misc expert
  643.     if_true
  644.         menu MAINCFG
  645.         end_if
  646.     goto main_cfg
  647.     end_cmd
  648.  
  649. cmdkey N
  650.     msg_new_scan_cfg
  651.     return
  652.     end_cmd
  653.  
  654. cmdkey S
  655.     msg_your_scan_cfg
  656.     return
  657.     end_cmd
  658.  
  659. cmdkey P
  660.     msg_ptrs_cfg
  661.     return
  662.     end_cmd
  663.  
  664. cmdkey I
  665.     msg_ptrs_reinit
  666.     return
  667.     end_cmd
  668.  
  669. return
  670.  
  671. ########################### File Transfer Section #############################
  672.  
  673. :file_transfers
  674.  
  675. compare_ars file_cmds=0
  676. if_true
  677.     compare_user_misc ask_nscan
  678.     if_true
  679.         yes_no "\r\n\r\nSearch all libraries for new files"
  680.         if_true
  681.             file_new_scan_all
  682.             end_if
  683.         end_if
  684.     end_if
  685.  
  686. cmd_home
  687.  
  688. compare_user_misc expert
  689. if_false
  690.     cls
  691.     menu \VALHALLA\VALFILE
  692.     end_if
  693.  
  694. # Update node status
  695. node_action xfer
  696. async
  697.  
  698. inc_file_cmds
  699.  
  700. # Display main Prompt
  701. compare_ars exempt T
  702. if_true
  703.     print \r\n\n"nc■Time @TUSED@ nc■"
  704. else
  705.     print \r\n\n"nc■Time @TLEFT@ nc■"
  706.     end_if
  707. print " bhYour Command @ALIAS@? nc"
  708.  
  709. # Get key (with / extended commands allowed)
  710. compare_user_misc COLDKEYS
  711. if_false
  712.     getkeye
  713. else
  714.     getstrupr 60
  715.     endif
  716.  
  717. compare_ars RIP
  718. if_true
  719.     getlines
  720.     end_if
  721.  
  722. # Do nothing for control keys and space
  723. cmdkey ^@
  724.     end_cmd
  725. cmdkey ^M
  726.     end_cmd
  727. cmdkey ^S
  728.     end_cmd
  729.  cmdkey  "
  730.     end_cmd
  731.  
  732. # Write command to log file
  733. logkey_comma
  734.  
  735. # Hitting number changes current sub-board
  736. cmdkey digit
  737.     compare_user_misc COLDKEYS
  738.     if_false
  739.         ungetkey
  740.         end_if
  741.     file_get_dir_num
  742.     end_cmd
  743.  
  744. # Hitting /number changes current group
  745. cmdkey edigit
  746.     compare_user_misc COLDKEYS
  747.     if_false
  748.         ungetkey
  749.     else
  750.         shift_str 1
  751.         end_if
  752.     file_get_lib_num
  753.     end_cmd
  754.  
  755. # Show the key hit
  756. compare_user_misc COLDKEYS
  757. if_false
  758.     printkey
  759.     endif
  760.  
  761. # Next directory
  762. cmdkey >
  763.     file_directory_up
  764.     end_cmd
  765. cmdkey }
  766.     file_directory_up
  767.     end_cmd
  768. cmdkey +
  769.     file_directory_up
  770.     end_cmd
  771. cmdkey =
  772.     file_directory_up
  773.     end_cmd
  774.  
  775. # Previous directory
  776. cmdkey <
  777.     file_directory_down
  778.     end_cmd
  779. cmdkey {
  780.     file_directory_down
  781.     end_cmd
  782. cmdkey -
  783.     file_directory_down
  784.     end_cmd
  785.  
  786. # Next library
  787. cmdkey ]
  788.     file_library_up
  789.     end_cmd
  790.  
  791. # Previous library
  792. cmdkey [
  793.     file_library_down
  794.     end_cmd
  795.  
  796. # String commands start with a semicolon
  797. cmdkey ;
  798.     compare_user_misc COLDKEYS
  799.     if_true
  800.         shift_str 1
  801.     else
  802.         getstrupr 40
  803.         end_if
  804.     exec_bin str_cmds
  805.     end_cmd
  806.  
  807. cmdkey Q
  808.     cmd_pop
  809.     return
  810.     end_cmd
  811.  
  812. compare_user_misc COLDKEYS
  813. if_false
  814.     crlf
  815.     end_if
  816. pause_reset
  817.  
  818. # Menu
  819. cmdkey ?
  820.     compare_user_misc expert
  821.     if_true
  822.         menu TRANSFER
  823.         end_if
  824.     end_cmd
  825.  
  826. # Sysop Menu
  827. compare_ars SYSOP
  828. if_true
  829.     cmdkey !
  830.         menu sysxfer
  831.         end_cmd
  832.     end_if
  833.  
  834. # Commands
  835.  
  836. cmdkey B
  837.     file_batch_section
  838.     end_cmd
  839.  
  840. cmdkey C
  841.     chat_section
  842.     end_cmd
  843.  
  844. cmdkey D
  845.     print "\r\nchDownload File(s)\r\n"
  846.     file_download_batch
  847.     if_true
  848.         end_cmd
  849.         end_if
  850.     getfilespec
  851.     if_true
  852.         file_download
  853.         end_if
  854.     end_cmd
  855.  
  856. cmdkey /D
  857.     print "\r\nchDownload File(s) from User(s)\r\n"
  858.     file_download_user
  859.     end_cmd
  860.  
  861. cmdkey E
  862.     print "\r\nchList Extended File Information\r\n"
  863.     getfilespec
  864.     if_true
  865.         file_list_extended
  866.         end_if
  867.     end_cmd
  868.  
  869. cmdkey T
  870.     print "\r\nchFind Text in File Descriptions (no wildcards)\r\n"
  871.     file_find_text
  872.     end_cmd
  873.  
  874. cmdkey /T
  875.     file_find_text_all
  876.     end_cmd
  877.  
  878. cmdkey I
  879.     call file_info
  880.     end_cmd
  881.  
  882. cmdkey J
  883.     file_select_area
  884.     end_cmd
  885.  
  886. cmdkey L
  887.     print "\r\nchList Files\r\n"
  888.     getfilespec
  889.     if_true
  890.         file_list
  891.         end_if
  892.     end_cmd
  893.  
  894. cmdkey M
  895.     call Messages
  896.         #return for clearing the stack of previous areas
  897.         cmd_pop
  898.         return
  899.     end_cmd
  900.  
  901. cmdkey N
  902.     print "\r\nchNew File Scan\r\n"
  903.     file_new_scan
  904.     end_cmd
  905.  
  906. cmdkey /N
  907.     file_new_scan_all
  908.     end_cmd
  909.  
  910. cmdkey G
  911.     file_download_batch
  912.     if_true
  913.         end_cmd
  914.         end_if
  915.     logoff
  916.     end_cmd
  917.  
  918. cmdkey /G
  919.     file_download_batch
  920.     if_true
  921.         end_cmd
  922.         end_if
  923.     logoff_fast
  924.     end_cmd
  925.  
  926. cmdkey R
  927.     print "\r\nchRemove/Edit File(s)\r\n"
  928.     getfilespec
  929.     if_true
  930.         file_remove
  931.         end_if
  932.     end_cmd
  933.  
  934. cmdkey F
  935.     print "\r\nchSearch for Filename(s)\r\n"
  936.     file_find_name
  937.     end_cmd
  938.  
  939. cmdkey /F
  940.     file_find_name_all
  941.     end_cmd
  942.  
  943. cmdkey A
  944.     file_temp_section
  945.     end_cmd
  946.  
  947. cmdkey U
  948.     print "\r\nchUpload File\r\n"
  949.     file_upload
  950.     end_cmd
  951.  
  952. cmdkey /U
  953.     print "\r\nchUpload File to User\r\n"
  954.     file_upload_user
  955.     end_cmd
  956.  
  957. cmdkey V
  958.     print "\r\nchView File(s)\r\n"
  959.     getfilespec
  960.     if_true
  961.         file_view
  962.         end_if
  963.     end_cmd
  964.  
  965. cmdkey Z
  966.     print "\r\nchUpload File to Sysop\r\n"
  967.     file_upload_sysop
  968.     end_cmd
  969.  
  970. cmdkey *
  971.     file_show_directories
  972.     end_cmd
  973.  
  974. cmdkey /*
  975.     file_show_libraries
  976.     end_cmd
  977.  
  978. cmdkey &
  979.     :xfercfg
  980.     compare_user_misc expert
  981.     if_false
  982.         menu XFERCFG
  983.         end_if
  984.     async
  985.     print "\r\nyhConfig: n"
  986.     getcmd ?QBP\r
  987.     logkey
  988.  
  989.     cmdkey ?
  990.         compare_user_misc expert
  991.         if_true
  992.             menu XFERCFG
  993.             end_if
  994.         goto xfercfg
  995.         end_cmd
  996.  
  997.     cmdkey P
  998.         file_ptrs_cfg
  999.         end_cmd
  1000.  
  1001.     cmdkey B
  1002.         toggle_user_misc BATCHFLAG
  1003.         end_cmd
  1004.     end_cmd
  1005.  
  1006. cmdkey #
  1007.     print "\r\nchType the actual number, not the symbol.\r\n"
  1008.     end_cmd
  1009.  
  1010. cmdkey /#
  1011.     print "\r\nchType the actual number, not the symbol.\r\n"
  1012.     end_cmd
  1013.  
  1014. # fall through
  1015. print "\r\nchUnrecognized command."
  1016. compare_user_misc expert
  1017. if_true
  1018.     print " Hit 'i?nch' for a menu."
  1019.     end_if
  1020. crlf
  1021. end_cmd
  1022.  
  1023. # shouldn't hit next line
  1024. print "Problem in command shell."
  1025. pause
  1026. hangup
  1027.  
  1028. ############################ File Info Section  ###############################
  1029.  
  1030. :file_info
  1031. cmd_home
  1032. compare_user_misc expert
  1033. if_false
  1034.     menu XFERINFO
  1035.     end_if
  1036. async
  1037. print "\r\nyhInfo: n"
  1038. getcmd ?TYDUQ\r
  1039. logkey
  1040.  
  1041. cmdkey ?
  1042.     compare_user_misc expert
  1043.     if_true
  1044.         menu XFERINFO
  1045.         end_if
  1046.     end_cmd
  1047.  
  1048. cmdkey T
  1049.     info_xfer_policy
  1050.     end_cmd
  1051.  
  1052. cmdkey Y
  1053.     info_user
  1054.     end_cmd
  1055.  
  1056. cmdkey D
  1057.     info_directory
  1058.     end_cmd
  1059.  
  1060. cmdkey U
  1061.     userlist_dir
  1062.     end_cmd
  1063.  
  1064. cmdkey Q
  1065.     cmd_pop
  1066.     return
  1067.     end_cmd
  1068.  
  1069. cmd_pop
  1070. return
  1071.  
  1072. #end of DEFAULT.SRC
  1073.  
  1074.