| ![[Previous]](../prev.gif) | ![[Contents]](../contents.gif) | ![[Index]](../keyword_index.gif) | ![[Next]](../next.gif) | 
Detach an entity from the HAM, using an entity name
#include <ha/ham.h>
int ham_detach_name( int nd,
                     const char *ename, 
                     unsigned flags);
int ham_detach_name_node( const char *nodename,
                     const char *ename, 
                     unsigned flags);
libham
These functions detach an attached entity (ename) from a HAM. The entity being detached must NOT be a self-attached entity.
The nd specifies the node identifier of the remote node on which the entity being targeted is running, at the time the call is made.
|  | Since node identifiers are transient objects, you should obtain the value for nd immediately before the call, using netmgr_strtond() or another function that converts nodenames into node identifiers. | 
The ham_detach_name_node() function is used when a nodename is used to specify a remote HAM instead of a node identifier (nd).
There are no flags defined at this time.
This function automatically calls ham_connect() and ham_disconnect() for the client.
In addition to the above errors, the HAM returns any error it encounters while servicing the request to remove the entity from its context.
| Safety: | |
|---|---|
| Cancellation point | No | 
| Interrupt handler | No | 
| Signal handler | No | 
| Thread | Yes | 
ham_attach(), ham_attach_self(), ham_connect(), ham_detach(), ham_detach_self(), ham_disconnect()
| ![[Previous]](../prev.gif) | ![[Contents]](../contents.gif) | ![[Index]](../keyword_index.gif) | ![[Next]](../next.gif) |