Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


SSL coda_psdev.h   Interaktion und
PortierbarkeitC

 
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __CODA_PSDEV_H
#define __CODA_PSDEV_H

#include <linux/backing-dev.h>
#include <linux/magic.h>
#include <linux/mutex.h>

#define CODA_PSDEV_MAJOR 67
#define MAX_CODADEVS  5    /* how many do we allow */

struct kstatfs;

/* messages between coda filesystem in kernel and Venus */
struct upc_req {
 struct list_head uc_chain;
 caddr_t   uc_data;
 u_short   uc_flags;
 u_short   uc_inSize;  /* Size is at most 5000 bytes */
 u_short   uc_outSize;
 u_short   uc_opcode;  /* copied from data to save lookup */
 int   uc_unique;
 wait_queue_head_t uc_sleep;   /* process' wait queue */
};

#define CODA_REQ_ASYNC  0x1
#define CODA_REQ_READ   0x2
#define CODA_REQ_WRITE  0x4
#define CODA_REQ_ABORT  0x8

/* communication pending/processing queues */
struct venus_comm {
 u_long      vc_seq;
 wait_queue_head_t   vc_waitq; /* Venus wait queue */
 struct list_head    vc_pending;
 struct list_head    vc_processing;
 int                 vc_inuse;
 struct super_block *vc_sb;
 struct mutex     vc_mutex;
};

static inline struct venus_comm *coda_vcp(struct super_block *sb)
{
 return (struct venus_comm *)((sb)->s_fs_info);
}

/* upcalls */
int venus_rootfid(struct super_block *sb, struct CodaFid *fidp);
int venus_getattr(struct super_block *sb, struct CodaFid *fid,
    struct coda_vattr *attr);
int venus_setattr(struct super_block *, struct CodaFid *, struct coda_vattr *);
int venus_lookup(struct super_block *sb, struct CodaFid *fid,
   const char *name, int length, int *type,
   struct CodaFid *resfid);
int venus_close(struct super_block *sb, struct CodaFid *fid, int flags,
  kuid_t uid);
int venus_open(struct super_block *sb, struct CodaFid *fid, int flags,
        struct file **f);
int venus_mkdir(struct super_block *sb, struct CodaFid *dirfid,
  const char *name, int length,
  struct CodaFid *newfid, struct coda_vattr *attrs);
int venus_create(struct super_block *sb, struct CodaFid *dirfid,
   const char *name, int length, int excl, int mode,
   struct CodaFid *newfid, struct coda_vattr *attrs);
int venus_rmdir(struct super_block *sb, struct CodaFid *dirfid,
  const char *name, int length);
int venus_remove(struct super_block *sb, struct CodaFid *dirfid,
   const char *name, int length);
int venus_readlink(struct super_block *sb, struct CodaFid *fid,
     char *buffer, int *length);
int venus_rename(struct super_block *sb, struct CodaFid *new_fid,
   struct CodaFid *old_fid, size_t old_length,
   size_t new_length, const char *old_name,
   const char *new_name);
int venus_link(struct super_block *sb, struct CodaFid *fid,
    struct CodaFid *dirfid, const char *name, int len );
int venus_symlink(struct super_block *sb, struct CodaFid *fid,
    const char *name, int len, const char *symname, int symlen);
int venus_access(struct super_block *sb, struct CodaFid *fid, int mask);
int venus_pioctl(struct super_block *sb, struct CodaFid *fid,
   unsigned int cmd, struct PioctlData *data);
int coda_downcall(struct venus_comm *vcp, int opcode, union outputArgs *out,
    size_t nbytes);
int venus_fsync(struct super_block *sb, struct CodaFid *fid);
int venus_statfs(struct dentry *dentry, struct kstatfs *sfs);
int venus_access_intent(struct super_block *sb, struct CodaFid *fid,
   bool *access_intent_supported,
   size_t count, loff_t ppos, int type);

/*
 * Statistics
 */


extern struct venus_comm coda_comms[];
#endif

Messung V0.5
C=94 H=86 G=89

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.3Bemerkung:  ¤

*Bot Zugriff






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge