dbms_diskgroup is an Oracle 'internal package' (C implementation, as opposed to PL/SQL), it provides and API to access ASM data. It is used by external programs, for example asmcmd 11g. A list of available procedures:
dbms_diskgroup.open(:fileName, :openMode, :fileType, :blkSz, :hdl,:plkSz, :fileSz)
dbms_diskgroup.createfile(:fileName, :fileType, :blkSz, :fileSz, :hdl, :plkSz, :fileGenName)
dbms_diskgroup.close(:hdl)
dbms_diskgroup.read(:hdl, :offset, :blkSz, :data_buf)
dbms_diskgroup.commitfile(:handle)
dbms_diskgroup.resizefile(:handle,:fsz)
dbms_diskgroup.remap(:gnum, :fnum, :virt_extent_num)
dbms_diskgroup.getfileattr(:fileName, :fileType, :fileSz, :blkSz)
dbms_diskgroup.checkfile(?)
dbms_diskgroup.patchfile(?)
Note on how to further research this: asmcmd
in 11g is a collection of PERL scripts who use dbms_diskgroup for asm manipulation. The files can be found (in 11gR2): find $ORA_CRS_HOME -name asmcmd*
see also find $ORA_CRS_HOME -name asmcmd*|xargs grep dbms_