docs: def parseCmdline(rh):
      """
      Parse the request command input.
  
      Input:
         Request Handle
  
      Output:
         Request Handle updated with parsed input.
         Return code - 0: ok, non-zero: error
      """
  
      rh.printSysLog("Enter cmdVM.parseCmdline")
  
      if rh.totalParms >= 2:
          rh.userid = rh.request[1].upper()
      else:
          # Userid is missing.
          msg = msgs.msg['0010'][1] % modId
          rh.printLn("ES", msg)
          rh.updateResults(msgs.msg['0010'][0])
          rh.printSysLog("Exit cmdVM.parseCmdLine, rc: " +
              rh.results['overallRC'])
          return rh.results['overallRC']
  
      if rh.totalParms == 2:
          rh.subfunction = rh.userid
          rh.userid = ''
  
      if rh.totalParms >= 3:
          rh.subfunction = rh.request[2].upper()
  
      # Verify the subfunction is valid.
      if rh.subfunction not in subfuncHandler:
          # Subfunction is missing.
          subList = ', '.join(sorted(subfuncHandler.keys()))
          msg = msgs.msg['0011'][1] % (modId, subList)
          rh.printLn("ES", msg)
          rh.updateResults(msgs.msg['0011'][0])
  
      # Parse the rest of the command line.
      if rh.results['overallRC'] == 0:
          rh.argPos = 3               # Begin Parsing at 4th operand
          generalUtils.parseCmdline(rh, posOpsList, keyOpsList)
  
      rh.printSysLog("Exit cmdVM.parseCmdLine, rc: " +
          str(rh.results['overallRC']))
      return rh.results['overallRC']