130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef _UAPI__CODA_PSDEV_H 230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define _UAPI__CODA_PSDEV_H 330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <linux/magic.h> 530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CODA_PSDEV_MAJOR 67 730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define MAX_CODADEVS 5 /* how many do we allow */ 830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* messages between coda filesystem in kernel and Venus */ 1130692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct upc_req { 1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng struct list_head uc_chain; 1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng caddr_t uc_data; 1430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng u_short uc_flags; 1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng u_short uc_inSize; /* Size is at most 5000 bytes */ 1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng u_short uc_outSize; 1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng u_short uc_opcode; /* copied from data to save lookup */ 1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng int uc_unique; 1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng wait_queue_head_t uc_sleep; /* process' wait queue */ 2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CODA_REQ_ASYNC 0x1 2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CODA_REQ_READ 0x2 2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CODA_REQ_WRITE 0x4 2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CODA_REQ_ABORT 0x8 2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif /* _UAPI__CODA_PSDEV_H */ 28