Linux server.thearyasamaj.org 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
Apache
: 103.90.241.146 | : 216.73.216.222
Cant Read [ /etc/named.conf ]
5.6.40
ftpuser@mantra.thearyasamaj.org
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
src /
file_protector-1.1-1538 /
transport /
[ HOME SHELL ]
Name
Size
Permission
Action
device.c
1.18
KB
-rw-r--r--
device.h
257
B
-rw-r--r--
exec_event.c
6.9
KB
-rw-r--r--
exec_event.h
391
B
-rw-r--r--
exit_event.c
1.56
KB
-rw-r--r--
exit_event.h
291
B
-rw-r--r--
fork_event.c
8.58
KB
-rw-r--r--
fork_event.h
360
B
-rw-r--r--
fs_event.c
24.83
KB
-rw-r--r--
fs_event.h
2.43
KB
-rw-r--r--
message.c
19.42
KB
-rw-r--r--
message.h
3.94
KB
-rw-r--r--
ring.h
2.29
KB
-rw-r--r--
set.h
1.86
KB
-rw-r--r--
thread_safe_path.h
2.28
KB
-rw-r--r--
transport.c
55.47
KB
-rw-r--r--
transport.h
3.21
KB
-rw-r--r--
transport_id.h
1.75
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : ring.h
/** @file @brief 'ring' or 'circular' buffer @details Copyright (c) 2021 Acronis International GmbH @author Mikhail Krivtsov (mikhail.krivtsov@acronis.com) @since $Id: $ */ #pragma once #include <linux/atomic.h> #include <linux/types.h> // bool, [u]int(8|16|32|64)_t, pid_t, size_t #ifdef KERNEL_MOCK #include <mock/mock.h> #endif typedef struct { void *buffer; size_t item_size; int capacity; // 'count' is marked as atomic because it might be called from 'wait_event*' call without taking a spinlock atomic_t count; int count_max; int producer_index; int consumer_index; } ring_t; static inline void ring_init(ring_t *ring, void *buffer, size_t buffer_size, size_t item_size) { ring->buffer = buffer; ring->item_size = item_size; ring->capacity = buffer_size / item_size; atomic_set(&ring->count, 0); ring->count_max = 0; ring->producer_index = 0; ring->consumer_index = 0; } static inline void *ring_buffer(ring_t *ring) { return ring->buffer; } static inline int ring_capacity(ring_t *ring) { return ring->capacity; } static inline void ring_producer_index_move(ring_t *ring, int items) { int count; ring->producer_index = (ring->producer_index + items) % ring->capacity; count = atomic_add_return(items, &ring->count); if (ring->count_max < count) { ring->count_max = count; } } static inline void ring_producer_index_move_one(ring_t *ring) { ring_producer_index_move(ring, 1); } static inline void *ring_producer_ptr(ring_t *ring) { return (void *) (ring->producer_index * ring->item_size + (char *)ring->buffer); } static inline void ring_consumer_index_move(ring_t *ring, int items) { ring->consumer_index = (ring->consumer_index + items) % ring->capacity; atomic_sub(items, &ring->count); } static inline void ring_consumer_index_move_one(ring_t *ring) { ring_consumer_index_move(ring, 1); } static inline void *ring_consumer_ptr(ring_t *ring) { return (void *) (ring->consumer_index * ring->item_size + (char *)ring->buffer); } static inline int ring_items_count(ring_t *ring) { return atomic_read(&ring->count); } static inline int ring_items_count_max(ring_t *ring) { return ring->count_max; } static inline bool ring_is_empty(ring_t *ring) { return !ring_items_count(ring); } static inline bool ring_is_full(ring_t *ring) { return ring_items_count(ring) >= ring->capacity; }
Close