!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/include/libnl3/netlink/   drwxr-xr-x
Free 13.07 GB of 57.97 GB (22.54%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     list.h (2.45 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 * netlink/list.h    Netlink List Utilities
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License as published by the Free Software Foundation version 2.1
 *    of the License.
 *
 * Copyright (c) 2003-2006 Thomas Graf <tgraf@suug.ch>
 */

#ifndef NETLINK_LIST_H_
#define NETLINK_LIST_H_

#include <stddef.h>

struct nl_list_head
{
    struct nl_list_head *    next;
    struct nl_list_head *    prev;
};

static inline void NL_INIT_LIST_HEAD(struct nl_list_head *list)
{
    list->next = list;
    list->prev = list;
}

static inline void __nl_list_add(struct nl_list_head *obj,
                 struct nl_list_head *prev,
                 struct nl_list_head *next)
{
    prev->next = obj;
    obj->prev = prev;
    next->prev = obj;
    obj->next = next;
}

static inline void nl_list_add_tail(struct nl_list_head *obj,
                    struct nl_list_head *head)
{
    __nl_list_add(obj, head->prev, head);
}

static inline void nl_list_add_head(struct nl_list_head *obj,
                    struct nl_list_head *head)
{
    __nl_list_add(obj, head, head->next);
}

static inline void nl_list_del(struct nl_list_head *obj)
{
    obj->next->prev = obj->prev;
    obj->prev->next = obj->next;
}

static inline int nl_list_empty(struct nl_list_head *head)
{
    return head->next == head;
}

#define nl_container_of(ptr, type, member) ({            \
        const typeof( ((type *)0)->member ) *__mptr = (ptr);    \
        (type *)( (char *)__mptr - (offsetof(type, member)));})

#define nl_list_entry(ptr, type, member) \
    nl_container_of(ptr, type, member)

#define nl_list_at_tail(pos, head, member) \
    ((pos)->member.next == (head))

#define nl_list_at_head(pos, head, member) \
    ((pos)->member.prev == (head))

#define NL_LIST_HEAD(name) \
    struct nl_list_head name = { &(name), &(name) }

#define nl_list_first_entry(head, type, member)            \
    nl_list_entry((head)->next, type, member)

#define nl_list_for_each_entry(pos, head, member)                \
    for (pos = nl_list_entry((head)->next, typeof(*pos), member);    \
         &(pos)->member != (head);     \
         (pos) = nl_list_entry((pos)->member.next, typeof(*(pos)), member))

#define nl_list_for_each_entry_safe(pos, n, head, member)            \
    for (pos = nl_list_entry((head)->next, typeof(*pos), member),    \
        n = nl_list_entry(pos->member.next, typeof(*pos), member);    \
         &(pos)->member != (head);                     \
         pos = n, n = nl_list_entry(n->member.next, typeof(*n), member))

#define nl_init_list_head(head) \
    do { (head)->next = (head); (head)->prev = (head); } while (0)

#endif

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0065 ]--