annotate lib/fsplib/lock.h @ 992:9c583f570950 default tip

more character set conversion on remote file names.
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Wed, 15 Sep 2010 11:42:57 +0900
parents 26fb4e66736c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
662
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
1 #ifndef _FSPLIB_H_LOCK
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
2 #define _FSPLIB_H_LOCK 1
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
3
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
4 #ifndef FSP_NOLOCKING
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
5 /* define locking prefix if needed */
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
6 # ifndef FSP_KEY_PREFIX
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
7 # define FSP_KEY_PREFIX "/tmp/.FSPL"
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
8 # endif
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
9 #endif
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
10
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
11 #ifdef FSP_USE_SHAREMEM_AND_SEMOP
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
12
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
13 typedef struct FSP_LOCK {
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
14 unsigned int *share_key;
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
15 int lock_shm;
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
16 int lock_sem;
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
17 char key_string[sizeof(FSP_KEY_PREFIX)+32];
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
18 } FSP_LOCK;
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
19
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
20 #elif defined(FSP_NOLOCKING)
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
21
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
22 typedef struct FSP_LOCK {
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
23 unsigned short share_key;
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
24 } FSP_LOCK;
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
25
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
26 #elif defined(FSP_USE_LOCKF)
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
27
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
28 typedef struct FSP_LOCK {
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
29 int lock_fd;
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
30 char key_string[sizeof(FSP_KEY_PREFIX)+32];
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
31 } FSP_LOCK;
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
32
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
33 #else
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
34 #error "No locking type specified"
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
35 #endif
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
36
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
37 /* prototypes */
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
38
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
39 unsigned short client_get_key (FSP_LOCK *lock);
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
40 void client_set_key (FSP_LOCK *lock,unsigned short key);
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
41 int client_init_key (FSP_LOCK *lock,
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
42 unsigned long server_addr,
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
43 unsigned short server_port);
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
44 void client_destroy_key(FSP_LOCK *lock);
be9663e0be00 2005-1-16 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
45 #endif