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