~ubuntu-branches/ubuntu/quantal/open-vm-tools/quantal-201210021442

« back to all changes in this revision

Viewing changes to modules/linux/vmci/shared/vmciQueue.h

  • Committer: Package Import Robot
  • Author(s): Nate Muench
  • Date: 2012-01-23 16:09:45 UTC
  • mfrom: (1.4.6) (2.4.26 sid)
  • Revision ID: package-import@ubuntu.com-20120123160945-b6s0r1vkcovucpf3
Tags: 2011.12.20-562307-0ubuntu1
* Merge latest upstream git tag. Fixes building on Precise
  (LP: #898289, LP: #905612)

* Items merged from Debian unstable:
  - debian/control:
    + open-vm-tools recommends open-vm-dkms. (LP: #598933)
    + open-vm-tools now suggests open-vm-toolbox. (LP: #604998)
  (From 2011.08.21-471295-1 release)
  - Updating maintainer and uploaders fields.
  - Removing vcs fields.
  - Removing references to Daniel's old email address.
  - Updating years in copyright file.
  - Updating to standards version 3.9.2.
  - Updating to debhelper version 8.
  - Switching to source format 3.0 (quilt).
  - Removing manual chrpath setting.
  - Removing exclusion from plugins from debhelper shlibs.
  - Rediffing kvers.patch.
  (From 2011.09.23-491607-1 release)
  - Marking binary architecture-dependend packages as linux and kfreebsd
  only.
  - Removing liburiparser-dev from build-depends as upstream dropped
  unity support.
  - Building with libproc-dev on amd64 again.
  - Dropping disabling of dnet support.
  (From 2011.09.23-491607-2 release)
  - Adding doxygen to build-depends for api documentation.
  - Adding libcunit1-dev to build-depends for test suites.
  - Minimizing rules file.
  - Adding open-vm-tools-dev package, containing only the api
    documentation for now.
  (From 2011.09.23-491607-3 release)
  - Sorting overrides in rules alphabetically.
  - Compacting copyright file.
  - Adding udev rule to set timeout for vmware scsi devices
  (From 2011.12.20-562307-1 release)
  - Adding patch to correct typo in upstreams dkms configuration

* Remaining Changes:
  - Remove Stable part of version numbering.
  - debian folder:
    + Re-added open-vm-dkms.postinst & open-vm-dkms.prerm.
      * Allows dkms modules to compile upon installation.
  - debian/control:
    + Re-add open-vm-source and make into a transitional package
      for open-vm-toolbox.
    + Return dependancies that were moved to open-vm-tools back to
      open-vm-toolbox.
  - debian/rules and debian/open-vm-toolbox.lintian-overrides:
    + Make vmware-user-suid-wrapper suid-root
  - debian/rules:
    + Added CFLAGS field with -Wno-deprecated-declarations
      * Will suppress issues with glib 2.31 or later.
    + Add line to copy vmware-xdg-detect-de into place.
    + Install vmware-user.desktop through toolbox package.
  - debian/open-vm-tools.init:
    + Re-add 'modprobe [-r] vmblock'.
    + Add 'modprobe [-r] vmxnet'.
      * Incase it's not loaded during boot.
    + Remove and re-add pcnet32 module
      * Will be done before (remove) and after (readd) vmxnet module
        is added.
      * If vmxnet doesn't exist (aka modules fail to build), pcnet32 can be
        still used for network connectivity.
      * Workaround until a better fix can be done.
  - Re-add gnome-session to debian/local/xautostart.conf
  - Manpages removed (from debian/manpages):
    + vmmemctl.9
    + vmxnet3.9
    + Remove references to manpages that have been removed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
64
64
 
65
65
typedef struct VMCIQueue {
66
66
   VMCIQueueHeader *qHeader;
 
67
   VMCIQueueHeader *savedHeader;
67
68
   VMCIQueueKernelIf *kernelIf;
68
69
} VMCIQueue;
69
70
 
96
97
 */
97
98
typedef int VMCIMemcpyToQueueFunc(VMCIQueue *queue, uint64 queueOffset,
98
99
                                  const void *src, size_t srcOffset,
99
 
                                  size_t size, BUF_TYPE bufType);
 
100
                                  size_t size, BUF_TYPE bufType,
 
101
                                  Bool canBlock);
100
102
typedef int VMCIMemcpyFromQueueFunc(void *dest, size_t destOffset,
101
103
                                    const VMCIQueue *queue, uint64 queueOffset,
102
 
                                    size_t size, BUF_TYPE bufType);
 
104
                                    size_t size, BUF_TYPE bufType,
 
105
                                    Bool canBlock);
103
106
 
104
107
 
105
108
#if defined(_WIN32) && defined(WINNT_DDK)
117
120
/*
118
121
 *-----------------------------------------------------------------------------
119
122
 *
120
 
 * VMCIMemcpy{To,From}Queue[v]() prototypes
 
123
 * VMCIMemcpy{To,From}Queue[V][Local]() prototypes
121
124
 *
122
125
 * Note that these routines are NOT SAFE to call on a host end-point
123
126
 * until the guest end of the queue pair has attached -AND-
134
137
 */
135
138
 
136
139
int VMCIMemcpyToQueue(VMCIQueue *queue, uint64 queueOffset, const void *src,
137
 
                      size_t srcOffset, size_t size, BUF_TYPE bufType);
 
140
                      size_t srcOffset, size_t size, BUF_TYPE bufType,
 
141
                      Bool canBlock);
138
142
int VMCIMemcpyFromQueue(void *dest, size_t destOffset, const VMCIQueue *queue,
139
 
                        uint64 queueOffset, size_t size, BUF_TYPE bufType);
 
143
                        uint64 queueOffset, size_t size, BUF_TYPE bufType,
 
144
                        Bool canBlock);
 
145
 
 
146
int VMCIMemcpyToQueueLocal(VMCIQueue *queue, uint64 queueOffset, const void *src,
 
147
                           size_t srcOffset, size_t size, BUF_TYPE bufType,
 
148
                           Bool canBlock);
 
149
int VMCIMemcpyFromQueueLocal(void *dest, size_t destOffset, const VMCIQueue *queue,
 
150
                             uint64 queueOffset, size_t size, BUF_TYPE bufType,
 
151
                             Bool canBlock);
140
152
 
141
153
#if defined VMKERNEL || defined (SOLARIS)         || \
142
154
   (defined(__APPLE__) && !defined (VMX86_TOOLS)) || \
143
155
   (defined(__linux__) && defined(__KERNEL__))    || \
144
156
   (defined(_WIN32) && defined(WINNT_DDK))
145
157
int VMCIMemcpyToQueueV(VMCIQueue *queue, uint64 queueOffset, const void *src,
146
 
                       size_t srcOffset, size_t size, BUF_TYPE bufType);
 
158
                       size_t srcOffset, size_t size, BUF_TYPE bufType,
 
159
                       Bool canBlock);
147
160
int VMCIMemcpyFromQueueV(void *dest, size_t destOffset, const VMCIQueue *queue,
148
 
                         uint64 queueOffset, size_t size, BUF_TYPE bufType);
 
161
                         uint64 queueOffset, size_t size, BUF_TYPE bufType,
 
162
                         Bool canBlock);
 
163
#  if defined(VMKERNEL)
 
164
int VMCIMemcpyToQueueVLocal(VMCIQueue *queue, uint64 queueOffset,
 
165
                            const void *src, size_t srcOffset, size_t size,
 
166
                            BUF_TYPE bufType, Bool canBlock);
 
167
int VMCIMemcpyFromQueueVLocal(void *dest, size_t destOffset,
 
168
                              const VMCIQueue *queue, uint64 queueOffset,
 
169
                              size_t size, BUF_TYPE bufType, Bool canBlock);
 
170
#  else
 
171
/*
 
172
 * For non-vmkernel platforms, the local versions are identical to the
 
173
 * non-local ones.
 
174
 */
 
175
 
 
176
static INLINE int
 
177
VMCIMemcpyToQueueVLocal(VMCIQueue *queue,   // IN/OUT
 
178
                        uint64 queueOffset, // IN
 
179
                        const void *src,    // IN: iovec
 
180
                        size_t srcOffset,   // IN
 
181
                        size_t size,        // IN
 
182
                        BUF_TYPE bufType,   // IN
 
183
                        Bool canBlock)      // IN
 
184
{
 
185
   return VMCIMemcpyToQueueV(queue, queueOffset, src, srcOffset, size, bufType,
 
186
                             canBlock);
 
187
}
 
188
 
 
189
static INLINE int
 
190
VMCIMemcpyFromQueueVLocal(void *dest,              // IN/OUT: iovec
 
191
                          size_t destOffset,       // IN
 
192
                          const VMCIQueue *queue,  // IN
 
193
                          uint64 queueOffset,      // IN
 
194
                          size_t size,             // IN
 
195
                          BUF_TYPE bufType,        // IN
 
196
                          Bool canBlock)           // IN
 
197
{
 
198
   return VMCIMemcpyFromQueueV(dest, destOffset, queue, queueOffset, size, bufType,
 
199
                               canBlock);
 
200
}
 
201
#  endif /* !VMKERNEL */
149
202
#endif /* Does the O/S support iovec? */
150
203
 
151
204