---
name: "menu_mark"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/menu_mark"
---

# menu\_mark(3)

get and set the menu mark string

## NAME

**set\_menu\_mark**, **menu\_mark** - get and set the menu mark string

## SYNOPSIS

```
#include <menu.h>
```

**int set\_menu\_mark(MENU \****menu***, const char \****mark***);** **const char \*menu\_mark(const MENU \****menu***);**

## DESCRIPTION

**In order to make menu selections visible on older terminals without** **highlighting or color capability, the menu library marks selected items** **in a menu with a prefix string.**

**The function set\_menu\_mark sets the mark string for the given menu.** **Calling set\_menu\_mark with a null menu item will abolish the mark string.** **Note that changing the length of the mark string for a menu while the** **menu is posted is likely to produce unhelpful behavior.**

**The default string is "-" (a dash).** **Calling set\_menu\_mark with a** *non-*NULL **menu argument will change this default.**

**The function menu\_mark returns the menu's mark string (or** *NULL* **if there is none).**

## RETURN VALUE

**The function menu\_mark returns a pointer (which may be** *NULL*). **It does not set errno.**

**The function set\_menu\_mark may return the following error codes:**

- **E\_OK**

  **The routine succeeded.**

- **E\_BAD\_ARGUMENT**

  **Routine detected an incorrect or out-of-range argument.**

- **E\_SYSTEM\_ERROR**

  **System error occurred (see [errno(3)](/errno/3.md)).**

## PORTABILITY

**These routines emulate the System V menu library.** **They were not supported on** **Version 7 or BSD versions.**

## AUTHORS

**Juergen Pfeifer.** **Manual pages and adaptation for new curses by Eric S. Raymond.**

## SEE ALSO

**curses(3X),** **menu(3X)**
