def punchFile(rh):
    """
    Punch a file to a virtual reader of the specified virtual machine.

    Input:
       Request Handle with the following properties:
          function    - 'CHANGEVM'
          subfunction - 'PUNCHFILE'
          userid      - userid of the virtual machine
          parms['class']    - Spool class (optional)
          parms['file']     - Filespec of the file to punch.

    Output:
       Request Handle updated with the results.
       Return code - 0: ok, non-zero: error
    """

    rh.printSysLog("Enter changeVM.punchFile")

    # Default spool class in "A" , if specified change to specified class
    spoolClass = "A"
    if 'class' in rh.parms:
        spoolClass = str(rh.parms['class'])

    punch2reader(rh, rh.userid, rh.parms['file'], spoolClass)

    rh.printSysLog("Exit changeVM.punchFile, rc: " +
        str(rh.results['overallRC']))
    return rh.results['overallRC']