code: def get_guest_os_type(self, id_p):
          
          if not isinstance(id_p, basestring):
              raise TypeError("id_p can only be an instance of type basestring")
          type_p = self._call("getGuestOSType",
                       in_p=[id_p])
          type_p = IGuestOSType(type_p)
          return type_p
docs: Returns an object describing the specified guest OS type.
          
          The requested guest OS type is specified using a string which is a
          mnemonic identifier of the guest operating system, such as
          "win31" or "ubuntu". The guest OS type ID of a
          particular virtual machine can be read or set using the
          :py:func:`IMachine.os_type_id`  attribute.
          
          The :py:func:`IVirtualBox.guest_os_types`  collection contains all
          available guest OS type objects. Each object has an
          :py:func:`IGuestOSType.id_p`  attribute which contains an identifier of
          the guest OS this object describes.
          
          While this function returns an error for unknown guest OS types, they
          can be still used without serious problems (if one accepts the fact
          that there is no default VM config information).
  
          in id_p of type str
              Guest OS type ID string.
  
          return type_p of type :class:`IGuestOSType`
              Guest OS type object.
  
          raises :class:`OleErrorInvalidarg`
              @a id is not a valid Guest OS type.