summaryrefslogtreecommitdiffstats
path: root/media/mtp/MtpTypes.h
diff options
context:
space:
mode:
authorMike Lockwood <mike@spruce.(none)>2010-05-19 10:33:39 -0400
committerMike Lockwood <lockwood@android.com>2010-05-19 12:38:03 -0400
commit335dd2be955607f2632eabc25045857f2cc8b674 (patch)
tree59ad1930089fecf0bd70a8a9dc03db151b5d0028 /media/mtp/MtpTypes.h
parentfceef46513db3507b413f604cea89e3c7f352663 (diff)
downloadframeworks_av-335dd2be955607f2632eabc25045857f2cc8b674.zip
frameworks_av-335dd2be955607f2632eabc25045857f2cc8b674.tar.gz
frameworks_av-335dd2be955607f2632eabc25045857f2cc8b674.tar.bz2
More work on PTP host support.
Change-Id: Ifbd5bd5efa3cdb750ae1a2aae38181457554d34d Signed-off-by: Mike Lockwood <mike@spruce.(none)>
Diffstat (limited to 'media/mtp/MtpTypes.h')
-rw-r--r--media/mtp/MtpTypes.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/media/mtp/MtpTypes.h b/media/mtp/MtpTypes.h
new file mode 100644
index 0000000..3a9adee
--- /dev/null
+++ b/media/mtp/MtpTypes.h
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _MTP_TYPES_H
+#define _MTP_TYPES_H
+
+#include <stdint.h>
+#include "utils/String8.h"
+#include "utils/Vector.h"
+
+namespace android {
+
+typedef uint16_t MtpOperationCode;
+typedef uint16_t MtpResponseCode;
+typedef uint32_t MtpSessionID;
+typedef uint32_t MtpStorageID;
+typedef uint32_t MtpTransactionID;
+typedef uint16_t MtpDeviceProperty;
+typedef uint16_t MtpObjectFormat;
+typedef uint16_t MtpObjectProperty;
+
+// object handles are unique across all storage but only within a single session.
+// object handles cannot be reused after an object is deleted.
+// values 0x00000000 and 0xFFFFFFFF are reserved for special purposes.
+typedef uint32_t MtpObjectHandle;
+
+#define kInvalidObjectHandle 0xFFFFFFFF
+
+// MtpObjectHandle bits and masks
+#define kObjectHandleMarkBit 0x80000000 // used for mark & sweep by MtpMediaScanner
+#define kObjectHandleTableMask 0x70000000 // mask for object table
+#define kObjectHandleTableFile 0x00000000 // object is only in the file table
+#define kObjectHandleTableAudio 0x10000000 // object is in the audio table
+#define kObjectHandleTableVideo 0x20000000 // object is in the video table
+#define kObjectHandleTableImage 0x30000000 // object is in the images table
+#define kObjectHandleTablePlaylist 0x40000000 // object is in the playlist table
+#define kObjectHandleIndexMask 0x0FFFFFFF // mask for object index in file table
+
+class MtpStorage;
+
+typedef android::Vector<MtpStorage *> MtpStorageList;
+
+typedef android::Vector<uint8_t> UInt8List;
+typedef android::Vector<uint32_t> UInt16List;
+typedef android::Vector<uint32_t> UInt32List;
+typedef android::Vector<uint64_t> UInt64List;
+typedef android::Vector<int8_t> Int8List;
+typedef android::Vector<int32_t> Int16List;
+typedef android::Vector<int32_t> Int32List;
+typedef android::Vector<int64_t> Int64List;
+
+typedef UInt16List MtpDevicePropertyList;
+typedef UInt16List MtpObjectFormatList;
+typedef UInt32List MtpObjectHandleList;
+typedef UInt16List MtpObjectPropertyList;
+typedef UInt32List MtpStorageIDList;
+
+typedef android::String8 MtpString;
+
+}; // namespace android
+
+#endif // _MTP_TYPES_H