---
name: "ACE_Name_Request"
section: "3"
platform: "linux"
package: "libace-doc"
version: "5.0.7-4"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/ACE_Name_Request"
---

# ACE\_Name\_Request(3)

Message format for delivering requests to the ACE\_Name Server.

## NAME

ACE\_Name\_Request -  Message format for delivering requests to the ACE\_Name Server.

## SYNOPSIS

```
#include <ACE/Name_Request_Reply.h>
class ACE_Name_Request
{
  public:
        enum Constants{ BIND = 01,
        REBIND = 02,
        RESOLVE = 03,
        UNBIND = 04,
        LIST_NAMES = 05,
        LIST_VALUES = 015,
        LIST_TYPES = 025,
        LIST_NAME_ENTRIES = 06,
        LIST_VALUE_ENTRIES = 016,
        LIST_TYPE_ENTRIES = 026,
        MAX_ENUM = 11,
        MAX_LIST = 3,
        OP_TABLE_MASK = 07,
        LIST_OP_MASK = 030,
        MAX_NAME_LENGTH = MAXPATHLEN + 1 };

    ACE_Name_Request (void);
    ACE_Name_Request (
        ACE_INT32 msg_type,
        const ACE_USHORT16 name[],
        const size_t name_length,
        const ACE_USHORT16 value[],
        const size_t value_length,
        const char type[],
        const size_t type_length,
        ACE_Time_Value *timeout = 0
        );
    void init (void);
    ACE_UINT32 length (void) const;
    void length (ACE_UINT32);
    ACE_INT32 msg_type (void) const;
    void msg_type (ACE_INT32);
    ACE_UINT32 block_forever (void) const;
    void block_forever (ACE_UINT32);
    ACE_Time_Value timeout (void) const;
    void timeout (const ACE_Time_Value timeout);
    const ACE_USHORT16 *name (void) const;
    void name (const ACE_USHORT16 *);
    const ACE_USHORT16 *value (void) const;
    void value (const ACE_USHORT16 *);
    const char *type (void) const;
    void type (const char *);
    ACE_UINT32 name_len (void) const;
    void name_len (ACE_UINT32);
    ACE_UINT32 value_len (void) const;
    void value_len (ACE_UINT32);
    ACE_UINT32 type_len (void) const;
    void type_len (ACE_UINT32);
    int encode (void *&);
    int decode (void);
    void dump (void) const;
  private:
    Transfer transfer_;
    ACE_USHORT16 *name_;
    ACE_USHORT16 *value_;
    char *type_;
};
```

## DESCRIPTION

Define the format used to exchange messages between the ACE\_Name Server and its clients.

## Set/get the length of the encoded/decoded message.

```
ACE_UINT32 length (void) const;
```

```
void length (ACE_UINT32);
```

## Set/get the type of the message.

```
ACE_INT32 msg_type (void) const;
```

```
void msg_type (ACE_INT32);
```

## Set/get the blocking semantics.

```
ACE_UINT32 block_forever (void) const;
```

```
void block_forever (ACE_UINT32);
```

## Set/get the timeout.

```
ACE_Time_Value timeout (void) const;
```

```
void timeout (const ACE_Time_Value timeout);
```

## Set/get the name

```
const ACE_USHORT16 *name (void) const;
```

```
void name (const ACE_USHORT16 *);
```

## Set/get the value

```
const ACE_USHORT16 *value (void) const;
```

```
void value (const ACE_USHORT16 *);
```

## Set/get the type

```
const char *type (void) const;
```

```
void type (const char *);
```

## Set/get the len of name

```
ACE_UINT32 name_len (void) const;
```

```
void name_len (ACE_UINT32);
```

## Set/get the len of value

```
ACE_UINT32 value_len (void) const;
```

```
void value_len (ACE_UINT32);
```

## Set/get the len of type

```
ACE_UINT32 type_len (void) const;
```

```
void type_len (ACE_UINT32);
```

```
int encode (void *&);
```

Encode the message before transmission.

```
int decode (void);
```

Decode message after reception.

```
void dump (void) const;
```

Print out the values of the message for debugging purposes.

## AUTHOR

Gerhard Lenzer, Douglas C. Schmidt, and Prashant Jain

## LIBRARY

ACE
