c fprofile.for
c*******************************************************************************
c fprofile.for -- FORTRAN wrappers for those Profile Library routines that
c                 handle character strings.
c
c Mark Showalter, PDS Ring-Moon Systems Node, March 1998
c*******************************************************************************

c*******************************************************************************
c FORTRAN string conversion routines for object.c
c*******************************************************************************

	subroutine FPro_ObjectName(object, coord, name)
	integer*4	object, coord
	character*(*)	name

	logical*1	array(60)

	call GPro_ObjectName(object, coord, array, 60)
	call FORT_FSTRING(array, name)

	return
	end

c***************************************

	subroutine FPro_RenameObject(object, coord, name)
	integer*4	object, coord
	character*(*)	name

	logical*1	array(60)

	call FORT_CSTRING(name, array, 60)
	call GPro_RenameObject(object, coord, array)

	return
	end

c*******************************************************************************
c FORTRAN string conversion routines for label.c
c*******************************************************************************

	integer*4 function FPro_OpenLabel(labelfile)
	character*(*)	labelfile

	logical*1	labelarray(256)
	integer*4	GPro_OpenLabel

	call FORT_CSTRING(labelfile, labelarray, 256)
	FPro_OpenLabel = GPro_OpenLabel(labelarray)

	return
	end

c***************************************

	subroutine FPro_LabelName(object, ntable, ncolumn, name)
	integer*4	object, ntable, ncolumn
	character*(*)	name

	logical*1	array(60)

	call GPro_LabelName(object, ntable, ncolumn, array, 60)
	call FORT_FSTRING(array, name)

	return
	end

c***************************************

	subroutine FPro_LabelXName(object, ntable, name)
	integer*4	object, ntable
	character*(*)	name

	logical*1	array(60)

	call GPro_LabelXName(object, ntable, array, 60)
	call FORT_FSTRING(array, name)

	return
	end

c***************************************

	integer*4 function FPro_LabelFind(object, ntable, name)
	integer*4	object, ntable
	character*(*)	name

	logical*1	array(60)
	integer*4	GPro_LabelFind

	call FORT_CSTRING(name, array, 60)
	FPro_LabelFind = GPro_LabelFind(object, ntable, array)

	return
	end

c***************************************

        integer*4 function FPro_LabelInt(object, table, column,
     &			keyword, default, raise_error)
        integer*4	object, table, column, default
	character*(*)	keyword
	logical*4	raise_error

	logical*1	array(60)
	integer*4	GPro_LabelInt

	call FORT_CSTRING(keyword, array, 60)
	FPro_LabelInt = GPro_LabelInt(object, table, column, array,
     &	                              default, raise_error)

	return
	end

c***************************************

        real*8 function FPro_LabelFloat(object, table, column,
     &			keyword, default, raise_error)
        integer*4 	object, table, column
	character*(*)	keyword
	real*8		default
	logical*4	raise_error

	logical*1	array(60)
        real*8		GPro_LabelFloat

	call FORT_CSTRING(keyword, array, 60)
	FPro_LabelFloat = GPro_LabelFloat(object, table, column, array,
     &	                                  default, raise_error)

	return
	end

c***************************************

        subroutine FPro_LabelString(object, table, column,
     &			keyword, default, raise_error, value)
        integer*4	object, table, column
	character*(*)	keyword, default, value
	logical*4	raise_error

	logical*1	array1(60), array2(256), array3(256)

	call FORT_CSTRING(keyword, array1, 60)
	call FORT_CSTRING(default, array2, 256)
	call GPro_LabelString(object, table, column, array1, array2,
     &	                      raise_error, array3, 256)
        call FORT_FSTRING(array3, value)

	return
	end

c*******************************************************************************
c