# PR_GetUniqueIdentity Asks the runtime to allocate a unique identity for a layer identified by the layer's name. ## Syntax ```{code} #include PRDescIdentity PR_GetUniqueIdentity(const char *layer_name); ``` ### Parameter The function has the following parameter: `layer_name` : The string associated with the creation of a layer's identity. ### Returns The function returns one of the following values: - If successful, the {ref}`PRDescIdentity` for the layer associated with the string specified in the layer named `layer_name`. - If the function cannot allocate enough dynamic memory, it fails and returns the value `PR_INVALID_IO_LAYER` with the error code `PR_OUT_OF_MEMORY_ERROR`. ## Description A string may be associated with a layer when the layer is created. {ref}`PR_GetUniqueIdentity` allocates a unique layer identity and associates it with the string. The string can be subsequently passed to {ref}`PR_CreateIOLayerStub` to create a new file descriptor of that layer. Call {ref}`PR_GetUniqueIdentity` only once for any particular layer name. If you're creating a custom I/O layer, cache the result, and then use that cached result every time you call {ref}`PR_CreateIOLayerStub`.