---
name: "browse_group"
section: "3"
platform: "linux"
package: "libxine-dev"
version: "0.9.8-2woody3"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/browse_group"
---

# browse\_group(3)

## NAME

Browsing support -

### Modules

**Types of available mrls**\

### Data Structures

struct **mrl\_t**\
 struct **mrl\_t**\

### Defines

\#define **MRL\_ZERO**(m)\
 \#define **MRL\_DUPLICATE**(s, d)\
 \#define **MRLS\_DUPLICATE**(s, d)\

### Functions

char\*\* **xine\_get\_browsable\_input\_plugin\_ids** (**xine\_t** \*self)\
 *Request list of browsable featured plugins.* **mrl\_t**\*\* **xine\_get\_browse\_mrls** (**xine\_t** \*self, char \*plugin\_id, char \*start\_mrl, int \*num\_mrls)\
 *Request available MRLs from plugins.*

## DEFINE DOCUMENTATION

### #define MRLS\_DUPLICATE(s, d)

**Value:**

```
  {                                                  int i = 0;                                                                                                                                                  assert((s) != NULL);                                                          assert((d) != NULL);                                                                                                                                        while((s) != NULL) {                                                            d[i] = (mrl_t *) malloc(sizeof(mrl_t));                                       MRL_DUPLICATE(s[i], d[i]);                                                    i++;                                                                        }                                                                           }
```

Duplicate two arrays of mrls (s = source, d = destination).

**See also:**  **mrl\_t**, **xine\_get\_browse\_mrls**()

### #define MRL\_DUPLICATE(s, d)

Duplicate two mrls entries (s = source, d = destination).

**See also:**  **mrl\_t**, **xine\_get\_browse\_mrls**()

### #define MRL\_ZERO(m)

**Value:**

```
  {                                                           if((m)) {                                                                       if((m)->origin)                                                                 free((m)->origin);                                                          if((m)->mrl)                                                                    free((m)->mrl);                                                             if((m)->link)                                                                   free((m)->link);                                                            (m)->origin = NULL;                                                           (m)->mrl    = NULL;                                                           (m)->link   = NULL;                                                           (m)->type   = 0;                                                              (m)->size   = (off_t) 0;                                                    }                                                                           }
```

Freeing/zeroing all of entries of given mrl.

**See also:**  **mrl\_t**, **xine\_get\_browse\_mrls**()

## FUNCTION DOCUMENTATION

### char \*\* xine\_get\_browsable\_input\_plugin\_ids (xine\_t \* self)

Request list of browsable featured plugins.

**Parameters:**

- *self*

  *Current xine engine configuration ( see* **xine\_init***() )*

**Returns:**  *List of plugins*

*Some input plugins are browseable,  get the list of ids of these plugins.*

**Parameters:**

- *self*

  ### mrl\_t \*\* xine\_get\_browse\_mrls (xine\_t \* self, char \* plugin\_id, char \* start\_mrl, int \* num\_mrls)

*Request available MRLs from plugins.*

**Parameters:**

- *self*

  *Current xine engine configuration ( see* **xine\_init***() )*

- *plugin\_id*

  *Plugin name ( see* **xine\_get\_browsable\_input\_plugin\_ids***() )*

- *start\_mrl*

  *MRL*

- *num\_mrl*

  *how many mrls was found*

**Returns:**  *start\_mrl on success, NULL on failure.*

*Asks input plugin named \<plugin\_id\> to return a list of available MRLs in domain/directory \<start\_mrl\>.*

*\<start\_mrl\> may be NULL indicating the toplevel domain/dir returns \<start\_mrl\> if \<start\_mrl\> is a valid MRL, not a directory returns NULL if \<start\_mrl\> is an invalid MRL, not even a directory.*

**Parameters:**

- *self*

  - *plugin\_id*

  - *start\_mrl*

  - *num\_mrls*
