---
name: "gd_raw_filename"
section: "3"
platform: "linux"
package: "libgetdata-doc"
version: "0.11.0-15"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/gd_raw_filename"
---

# gd\_raw\_filename(3)

retrieve the pathname of a binary file in a Dirfile

## NAME

gd\_raw\_filename — retrieve the pathname of a binary file in a Dirfile

## SYNOPSIS

**#include \<getdata.h\>**

**char \*gd\_raw\_filename(DIRFILE \****dirfile***, const char** **\****field\_code***);**

## DESCRIPTION

The **gd\_raw\_filename**() function reports the pathname of the file backing the **RAW** field specified by *field\_code* in the dirfile specified by *dirfile*. If *field\_code* contains a valid representation suffix, it will be ignored.

## RETURN VALUE

On success, **gd\_raw\_filename**() returns the full pathname of the binary file associated with the specified field in a newly-allocated buffer.  By default, this buffer is allocated with [**malloc**(3)](/malloc/3.md), but a different memory manager may be specified by calling [**gd\_alloc\_funcs**(3)](/gd_alloc_funcs/3.md) before calling this function.  The caller is responsible for deallocating the returned buffer.

On error, this function returns NULL and stores a negative-valued error code in the **DIRFILE** object which may be retrieved by a subsequent call to [**gd\_error**(3)](/gd_error/3.md). Possible error codes are:\
  .TP 8 **GD\_E\_ALLOC** The library was unable to allocate memory.\
  .TP 8 **GD\_E\_BAD\_CODE** The field specified by *field\_code* was not found.\
  .TP 8 **GD\_E\_BAD\_DIRFILE** The supplied dirfile was invalid.\
  .TP 8 **GD\_E\_BAD\_FIELD\_TYPE** The field specified by *field\_code* was not a **RAW** field.\
  .TP 8 **GD\_E\_UNKNOWN\_ENCODING** The encoding scheme of the specified field could not be determined or was not understood by GetData.

A descriptive error string for the error may be obtained by calling [**gd\_error\_string**(3)](/gd_error_string/3.md).

## HISTORY

The **get\_raw\_filename**() function appeared in GetData-0.4.2.  Memory for the string it returned was managed by GetData.

In GetData-0.7.0, this function was renamed to **gd\_raw\_filename**().

In GetData-0.8.0, the returned string changed to a malloc'd buffer, and the responsibility for freeing the buffer passed to the caller.

## SEE ALSO

[**free**(3)](/free/3.md), [**gd\_entry**(3)](/gd_entry/3.md), [**gd\_error**(3)](/gd_error/3.md), [**gd\_error\_string**(3)](/gd_error_string/3.md), [**malloc**(3)](/malloc/3.md), [dirfile(5)](/dirfile/5.md), [dirfile-encoding(5)](/dirfile-encoding/5.md), [dirfile-format(5)](/dirfile-format/5.md)
