Annotation of src/usr.bin/cvs/proto.h, Revision 1.2
1.1 jfb 1: /* $OpenBSD$ */
2: /*
3: * Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
4: * All rights reserved.
5: *
6: * Redistribution and use in source and binary forms, with or without
7: * modification, are permitted provided that the following conditions
8: * are met:
9: *
10: * 1. Redistributions of source code must retain the above copyright
11: * notice, this list of conditions and the following disclaimer.
12: * 2. The name of the author may not be used to endorse or promote products
13: * derived from this software without specific prior written permission.
14: *
15: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
16: * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
17: * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
18: * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20: * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
21: * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
22: * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
23: * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
24: * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25: */
26:
27: #ifndef PROTO_H
28: #define PROTO_H
29:
30: #include <sys/param.h>
1.2 ! jfb 31:
! 32: #include "buf.h"
! 33: #include "file.h"
1.1 jfb 34:
35: #define CVS_REQ_TIMEOUT 300
36:
37:
38: /* client/server protocol requests */
39: #define CVS_REQ_NONE 0
40: #define CVS_REQ_ROOT 1
41: #define CVS_REQ_VALIDREQ 2
42: #define CVS_REQ_VALIDRESP 3
43: #define CVS_REQ_DIRECTORY 4
44: #define CVS_REQ_MAXDOTDOT 5
45: #define CVS_REQ_STATICDIR 6
46: #define CVS_REQ_STICKY 7
47: #define CVS_REQ_ENTRY 8
48: #define CVS_REQ_ENTRYEXTRA 9
49: #define CVS_REQ_CHECKINTIME 10
50: #define CVS_REQ_MODIFIED 11
51: #define CVS_REQ_ISMODIFIED 12
52: #define CVS_REQ_UNCHANGED 13
53: #define CVS_REQ_USEUNCHANGED 14
54: #define CVS_REQ_NOTIFY 15
55: #define CVS_REQ_NOTIFYUSER 16
56: #define CVS_REQ_QUESTIONABLE 17
57: #define CVS_REQ_CASE 18
58: #define CVS_REQ_UTF8 19
59: #define CVS_REQ_ARGUMENT 20
60: #define CVS_REQ_ARGUMENTX 21
61: #define CVS_REQ_GLOBALOPT 22
62: #define CVS_REQ_GZIPSTREAM 23
63: #define CVS_REQ_KERBENCRYPT 24
64: #define CVS_REQ_GSSENCRYPT 25
65: #define CVS_REQ_PROTOENCRYPT 26
66: #define CVS_REQ_GSSAUTH 27
67: #define CVS_REQ_PROTOAUTH 28
68: #define CVS_REQ_READCVSRC2 29
69: #define CVS_REQ_READWRAP 30
70: #define CVS_REQ_ERRIFREADER 31
71: #define CVS_REQ_VALIDRCSOPT 32
72: #define CVS_REQ_READIGNORE 33
73: #define CVS_REQ_SET 34
74: #define CVS_REQ_XPANDMOD 35
75: #define CVS_REQ_CI 36
76: #define CVS_REQ_CHOWN 37
77: #define CVS_REQ_SETOWN 38
78: #define CVS_REQ_SETPERM 39
79: #define CVS_REQ_CHACL 40
80: #define CVS_REQ_LISTPERM 41
81: #define CVS_REQ_LISTACL 42
82: #define CVS_REQ_SETPASS 43
83: #define CVS_REQ_PASSWD 44
84: #define CVS_REQ_DIFF 45
85: #define CVS_REQ_STATUS 46
86: #define CVS_REQ_LS 47
87: #define CVS_REQ_TAG 48
88: #define CVS_REQ_IMPORT 49
89: #define CVS_REQ_ADMIN 50
90: #define CVS_REQ_HISTORY 51
91: #define CVS_REQ_WATCHERS 52
92: #define CVS_REQ_EDITORS 53
93: #define CVS_REQ_ANNOTATE 54
94: #define CVS_REQ_LOG 55
95: #define CVS_REQ_CO 56
96: #define CVS_REQ_EXPORT 57
97: #define CVS_REQ_RANNOTATE 58
98: #define CVS_REQ_INIT 59
99: #define CVS_REQ_UPDATE 60
100: #define CVS_REQ_ADD 62
101: #define CVS_REQ_REMOVE 63
102: #define CVS_REQ_NOOP 64
103: #define CVS_REQ_RTAG 65
104: #define CVS_REQ_RELEASE 66
105: #define CVS_REQ_RLOG 67
106: #define CVS_REQ_RDIFF 68
107: #define CVS_REQ_VERSION 69
108:
109: #define CVS_REQ_MAX 69
110:
111:
112: /* responses */
113: #define CVS_RESP_OK 1
114: #define CVS_RESP_ERROR 2
115: #define CVS_RESP_VALIDREQ 3
116: #define CVS_RESP_CHECKEDIN 4
117: #define CVS_RESP_NEWENTRY 5
118: #define CVS_RESP_CKSUM 6
119: #define CVS_RESP_COPYFILE 7
120: #define CVS_RESP_UPDATED 8
121: #define CVS_RESP_CREATED 9
122: #define CVS_RESP_UPDEXIST 10
123: #define CVS_RESP_MERGED 11
124: #define CVS_RESP_PATCHED 12
125: #define CVS_RESP_RCSDIFF 13
126: #define CVS_RESP_MODE 14
127: #define CVS_RESP_MODTIME 15
128: #define CVS_RESP_REMOVED 16
129: #define CVS_RESP_RMENTRY 17
130: #define CVS_RESP_SETSTATDIR 18
131: #define CVS_RESP_CLRSTATDIR 19
132: #define CVS_RESP_SETSTICKY 20
133: #define CVS_RESP_CLRSTICKY 21
134: #define CVS_RESP_TEMPLATE 22
135: #define CVS_RESP_SETCIPROG 23
136: #define CVS_RESP_SETUPDPROG 24
137: #define CVS_RESP_NOTIFIED 25
138: #define CVS_RESP_MODXPAND 26
139: #define CVS_RESP_WRAPRCSOPT 27
140: #define CVS_RESP_M 28
141: #define CVS_RESP_MBINARY 29
142: #define CVS_RESP_E 30
143: #define CVS_RESP_F 31
144: #define CVS_RESP_MT 32
145:
146:
147:
148: int cvs_sendfile (struct cvsroot *, const char *);
1.2 ! jfb 149: BUF* cvs_recvfile (struct cvsroot *, mode_t *);
1.1 jfb 150: int cvs_connect (struct cvsroot *);
151: void cvs_disconnect (struct cvsroot *);
152:
153: int cvs_req_handle (char *);
154: struct cvs_req* cvs_req_getbyid (int);
155: struct cvs_req* cvs_req_getbyname (const char *);
156: char* cvs_req_getvalid (void);
157:
158: int cvs_resp_handle (struct cvsroot *, char *);
159: struct cvs_resp* cvs_resp_getbyid (int);
160: struct cvs_resp* cvs_resp_getbyname (const char *);
161: char* cvs_resp_getvalid (void);
162:
163: int cvs_sendreq (struct cvsroot *, u_int, const char *);
164: int cvs_getresp (struct cvsroot *);
165: int cvs_getln (struct cvsroot *, char *, size_t);
166: int cvs_senddir (struct cvsroot *, CVSFILE *);
167: int cvs_sendarg (struct cvsroot *, const char *, int);
168: int cvs_sendln (struct cvsroot *, const char *);
169: int cvs_sendentry (struct cvsroot *, const struct cvs_ent *);
170: int cvs_sendraw (struct cvsroot *, const void *, size_t);
171: ssize_t cvs_recvraw (struct cvsroot *, void *, size_t);
172:
173:
174: #endif /* PROTO_H */