Signature:

      SUBROUTINE h5pcreate_class_f(parent, name, class, hdferr, create, &
                create_data, copy, copy_data, close, close_data)
        INTEGER(HID_T)  , INTENT(IN)  :: parent
        CHARACTER(LEN=*), INTENT(IN)  :: name
        INTEGER(HID_T)  , INTENT(OUT) :: class
        INTEGER         , INTENT(OUT) :: hdferr
        TYPE(C_PTR)     , OPTIONAL    :: create_data, copy_data, close_data
        TYPE(C_FUNPTR)  , OPTIONAL    :: create, copy, close

Inputs:

      parent  - Parent property list class identifier
                Possible values include:
                  H5P_ROOT_F
                  H5P_FILE_CREATE_F
                  H5P_FILE_ACCESS_F
                  H5P_DATASET_CREATE_F
                  H5P_DATASET_XFER_F
                  H5P_FILE_MOUNT_F
      name    - Name of property to create

Outputs:

      class   - Property list class identifier
      hdferr  - Returns 0 if successful and -1 if fails

Optional parameters:

      H5P_cls_create_func_t (create) - Callback routine called when a
                                       property list is created
      create_data                    - User pointer to any class creation
                                       information needed
      H5P_cls_copy_func_t   (copy)   - Callback routine called when a property
                                       list is copied
      copy_data                      - User pointer to any class copy
                                       information needed
      H5P_cls_close_func_t  (close)  - Callback routine called when a property
                                       list is being closed
      close_data                     - User pointer to any class close
                                       information needed