!C99Shell v. 1.0 pre-release build #13!

Software: Apache/2.0.54 (Unix) mod_perl/1.99_09 Perl/v5.8.0 mod_ssl/2.0.54 OpenSSL/0.9.7l DAV/2 FrontPage/5.0.2.2635 PHP/4.4.0 mod_gzip/2.0.26.1a 

uname -a: Linux snow.he.net 4.4.276-v2-mono-1 #1 SMP Wed Jul 21 11:21:17 PDT 2021 i686 

uid=99(nobody) gid=98(nobody) groups=98(nobody) 

Safe-mode: OFF (not secure)

/usr/include/linux/   drwxr-xr-x
Free 318.37 GB of 458.09 GB (69.5%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     iobuf.h (2.56 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 * iobuf.h
 *
 * Defines the structures used to track abstract kernel-space io buffers.
 *
 */

#ifndef __LINUX_IOBUF_H
#define __LINUX_IOBUF_H

#include <linux/mm.h>
#include <linux/init.h>
#include <linux/wait.h>
#include <asm/atomic.h>

/*
 * The kiobuf structure describes a physical set of pages reserved
 * locked for IO.  The reference counts on each page will have been
 * incremented, and the flags field will indicate whether or not we have
 * pre-locked all of the pages for IO.
 *
 * kiobufs may be passed in arrays to form a kiovec, but we must
 * preserve the property that no page is present more than once over the
 * entire iovec.
 */

#define KIO_MAX_ATOMIC_IO    512 /* in kb */
#define KIO_STATIC_PAGES    (KIO_MAX_ATOMIC_IO / (PAGE_SIZE >> 10) + 1)
#define KIO_MAX_SECTORS        (KIO_MAX_ATOMIC_IO * 2)

/* The main kiobuf struct used for all our IO! */

struct kiobuf 
{
    int        nr_pages;    /* Pages actually referenced */
    int        array_len;    /* Space in the allocated lists */
    int        offset;        /* Offset to start of valid data */
    int        length;        /* Number of valid bytes of data */

    /* Keep separate track of the physical addresses and page
     * structs involved.  If we do IO to a memory-mapped device
     * region, there won't necessarily be page structs defined for
     * every address. */

    struct page **    maplist;

    unsigned int    locked : 1;    /* If set, pages has been locked */
    
    /* Always embed enough struct pages for atomic IO */
    struct page *    map_array[KIO_STATIC_PAGES];
    struct buffer_head * bh[KIO_MAX_SECTORS];
    unsigned long blocks[KIO_MAX_SECTORS];

    /* Dynamic state for IO completion: */
    atomic_t    io_count;    /* IOs still in progress */
    int        errno;        /* Status of completed IO */
    void        (*end_io) (struct kiobuf *); /* Completion callback */
    wait_queue_head_t wait_queue;
};


/* mm/memory.c */

int    map_user_kiobuf(int rw, struct kiobuf *, unsigned long va, size_t len);
void    unmap_kiobuf(struct kiobuf *iobuf);
int    lock_kiovec(int nr, struct kiobuf *iovec[], int wait);
int    unlock_kiovec(int nr, struct kiobuf *iovec[]);
void    mark_dirty_kiobuf(struct kiobuf *iobuf, int bytes);

/* fs/iobuf.c */

void    end_kio_request(struct kiobuf *, int);
void    simple_wakeup_kiobuf(struct kiobuf *);
int    alloc_kiovec(int nr, struct kiobuf **);
void    free_kiovec(int nr, struct kiobuf **);
int    expand_kiobuf(struct kiobuf *, int);
void    kiobuf_wait_for_io(struct kiobuf *);
extern int alloc_kiobuf_bhs(struct kiobuf *);
extern void free_kiobuf_bhs(struct kiobuf *);

/* fs/buffer.c */

int    brw_kiovec(int rw, int nr, struct kiobuf *iovec[], 
           kdev_t dev, unsigned long b[], int size);

#endif /* __LINUX_IOBUF_H */

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

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

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

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0045 ]--