# mco_cursor_last
RT

> Position the cursor to the last object in the index.

### Prototype

        MCO_RET	mco_cursor_last(	/*IN*/ mco_trans_h t, /*INOUT*/ mco_cursor_h c);

### Arguments

t | The `mco_trans_h` transaction handle returned by `mco_trans_start()`
c | A cursor handle returned from a cursor or index search function

### Description

> This function positions the cursor to the last object in the index. A list cursor will be positioned to the last object in an arbitrarily ordered list of objects. A tree index cursor will be positioned to the last object in the list ordered by the index.

### Return Codes

MCO_S_OK | The cursor was positioned successfully
MCO_S_CURSOR_EMPTY | There are no objects referenced by the cursor

### Example

        Application snippet:

        const char * dbname = "SimpleDb";

        int main(int argc, char* argv[])
        {
            mco_db_h db;
            MCO_RET rc;
            mco_device_t       dev;
            mco_db_params_t    db_params;
            mco_trans_h t;
            mco_cursor_t c;
            MCO_CURSOR_TYPE ctype;

            ...
            rc = mco_db_open_dev( dbname, simple_get_dictionary(), &dev, 1, &db_params );
            if ( MCO_S_OK != rc )
            {
                rc = mco_db_connect(  dbname, &db );
                ...
                rc = mco_trans_start(db, MCO_READ_ONLY, MCO_TRANS_FOREGROUND, &t);
                if ( MCO_S_OK == rc )
                {
                    ...
                    A_list_cursor( t, &c);
                    ...
                    rc = mco_cursor_last( t, &c );

                    ...
                }
            }
            ...
        }

### Files

Header file:
mco.h
Source file:
mcocsr.c
Library:
libmcolib.a