---
name: "XmTabListCopy"
section: "3"
platform: "linux"
package: "openmotif"
version: "2.3.8-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XmTabListCopy"
---

# XmTabListCopy(3)

A convenience function that creates a new tab list from an existing list

## NAME

**XmTabListCopy** — A convenience function that creates a new tab list from an existing list

## SYNOPSIS

```
#include <Xm/Xm.h>
XmTabList XmTabListCopy(
XmTabList tablist,
int offset,
Cardinal count);
```

## DESCRIPTION

**XmTabListCopy** creates a new tab list consisting of a copy of a portion of the contents of the *tablist* argument. This function starts copying at the specified offset value of the tab list and copies *count* values.

- *tablist*

  Specifies a tab list to be copied.

- *offset*

  Specifies where to start copying. A value of 0 (zero) indicates begin at the beginning, a value of 1 indicates to skip the first tab, and so on. A negative indicates to begin counting backwards from the end. A value of -1 indicates to start copying from the last tab.

- *count*

  Specifies the number of tabs to copy. A value of 0 (zero) indicates to copy all elements from the starting point to the end (beginning if *offset* is negative) of the tab list.

## RETURN

If *tablist* is NULL, this function returns NULL. Otherwise, this function returns a newly allocated **XmTabList**. If the function does allocate an **XmTabList**, then the application is responsible for managing the allocated space. The application can recover the allocated space by calling **XmTabListFree**.

## RELATED

[**XmTabList**(3)](/XmTabList/3.md) and [**XmTabListFree**(3)](/XmTabListFree/3.md).
