| %{ |
| /* |
| * Copyright 2016 Google Inc. All rights reserved. |
| * |
| * 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. |
| */ |
| |
| #include "modellookup.h" |
| |
| %} |
| struct model_strings { |
| char *model; |
| char *genus; |
| char *species; |
| }; |
| %% |
| AppleTV1,1| "Apple TV", "Apple TV (1st gen)" |
| AppleTV2,1| "Apple TV", "Apple TV (2nd gen)" |
| AppleTV3,1| "Apple TV", "Apple TV (3rd gen)" |
| AppleTV3,2| "Apple TV", "Apple TV (3rd gen rev A)" |
| AppleTV5,3| "Apple TV", "Apple TV (4th gen)" |
| iMac,1| "iMac", "iMac G3" |
| iMac4,1| "iMac", "iMac Early 2006" |
| iMac4,2| "iMac", "iMac Mid 2006" |
| iMac5,1| "iMac", "iMac Late 2006" |
| iMac5,2| "iMac", "iMac Late 2006" |
| iMac6,1| "iMac", "iMac Late 2006" |
| iMac7,1| "iMac", "iMac Mid 2007" |
| iMac8,1| "iMac", "iMac Early 2008" |
| iMac9,1| "iMac", "iMac Early 2009" |
| iMac10,1| "iMac", "iMac Late 2009" |
| iMac11,1| "iMac", "iMac Late 2009" |
| iMac11,2| "iMac", "iMac Mid 2010" |
| iMac11,3| "iMac", "iMac Mid 2010" |
| iMac12,1| "iMac", "iMac Mid 2011" |
| iMac12,2| "iMac", "iMac Mid 2011" |
| iMac13,1| "iMac", "iMac Late 2012" |
| iMac13,2| "iMac", "iMac Late 2012" |
| iMac14,1| "iMac", "iMac Late 2013" |
| iMac14,2| "iMac", "iMac Late 2013" |
| iMac14,3| "iMac", "iMac Late 2013" |
| iMac14,4| "iMac", "iMac Mid 2014" |
| iMac15,1| "iMac", "iMac Late 2014" |
| iMac16,1| "iMac", "iMac Late 2015" |
| iMac16,2| "iMac", "iMac Late 2015" |
| iMac17,1| "iMac", "iMac Late 2015" |
| iPad1,1| "iPad", "iPad (1st gen)" |
| iPad2,1| "iPad", "iPad (2nd gen)" |
| iPad2,2| "iPad", "iPad (2nd gen)" |
| iPad2,3| "iPad", "iPad (2nd gen)" |
| iPad2,4| "iPad", "iPad (2nd gen)" |
| iPad2,5| "iPad mini", "iPad mini (1st gen)" |
| iPad2,6| "iPad mini", "iPad mini (1st gen)" |
| iPad2,7| "iPad mini", "iPad mini (1st gen)" |
| iPad3,1| "iPad", "iPad (3rd gen)" |
| iPad3,2| "iPad", "iPad (3rd gen)" |
| iPad3,3| "iPad", "iPad (3rd gen)" |
| iPad3,4| "iPad", "iPad (4th gen)" |
| iPad3,5| "iPad", "iPad (4th gen)" |
| iPad3,6| "iPad", "iPad (4th gen)" |
| iPad4,1| "iPad", "iPad Air (1st gen)" |
| iPad4,2| "iPad", "iPad Air (1st gen)" |
| iPad4,3| "iPad", "iPad Air (1st gen)" |
| iPad4,4| "iPad mini", "iPad mini (2nd gen)" |
| iPad4,5| "iPad mini", "iPad mini (2nd gen)" |
| iPad4,6| "iPad mini", "iPad mini (2nd gen)" |
| iPad4,7| "iPad mini", "iPad mini (3rd gen)" |
| iPad4,8| "iPad mini", "iPad mini (3rd gen)" |
| iPad4,9| "iPad mini", "iPad mini (3rd gen)" |
| iPad5,1| "iPad mini", "iPad mini (4th gen)" |
| iPad5,2| "iPad mini", "iPad mini (4th gen)" |
| iPad5,3| "iPad", "iPad Air (2nd gen)" |
| iPad5,4| "iPad", "iPad Air (2nd gen)" |
| iPad6,3| "iPad Pro", "iPad Pro 9.7 inch" |
| iPad6,4| "iPad Pro", "iPad Pro 9.7 inch" |
| iPad6,7| "iPad Pro", "iPad Pro 12.9 inch" |
| iPad6,8| "iPad Pro", "iPad Pro 12.9 inch" |
| iPhone1,1| "iPhone", "iPhone 1" |
| iPhone1,2| "iPhone 3G", "iPhone 3G" |
| iPhone2,1| "iPhone 3GS", "iPhone 3GS" |
| iPhone3,1| "iPhone 4", "iPhone 4" |
| iPhone3,2| "iPhone 4", "iPhone 4" |
| iPhone3,3| "iPhone 4", "iPhone 4" |
| iPhone4,1| "iPhone 4S", "iPhone 4S" |
| iPhone5,1| "iPhone 5", "iPhone 5" |
| iPhone5,2| "iPhone 5", "iPhone 5" |
| iPhone5,3| "iPhone 5c", "iPhone 5c" |
| iPhone5,4| "iPhone 5c", "iPhone 5c" |
| iPhone6,1| "iPhone 5s", "iPhone 5s" |
| iPhone6,2| "iPhone 5s", "iPhone 5s" |
| iPhone7,1| "iPhone 6+", "iPhone 6+" |
| iPhone7,2| "iPhone 6", "iPhone 6" |
| iPhone8,1| "iPhone 6s", "iPhone 6s" |
| iPhone8,2| "iPhone 6s+", "iPhone 6s+" |
| iPhone8,4| "iPhone SE", "iPhone SE" |
| iPod1,1| "iPod Touch", "iPod Touch (1st gen)" |
| iPod2,1| "iPod Touch", "iPod Touch (2nd gen)" |
| iPod3,1| "iPod Touch", "iPod Touch (3rd gen)" |
| iPod4,1| "iPod Touch", "iPod Touch (4th gen)" |
| iPod5,1| "iPod Touch", "iPod Touch (5th gen)" |
| iPod7,1| "iPod Touch", "iPod Touch (6th gen)" |
| MacBook1,1| "MacBook", "MacBook Early 2006" |
| MacBook2,1| "MacBook", "MacBook Late 2006" |
| MacBook3,1| "MacBook", "MacBook Late 2007" |
| MacBook4,1| "MacBook", "MacBook Early 2008" |
| MacBook4,2| "MacBook", "MacBook Late 2008" |
| MacBook5,1| "MacBook", "MacBook Late 2008" |
| MacBook5,2| "MacBook", "MacBook Mid 2009" |
| MacBook6,1| "MacBook", "MacBook Late 2009" |
| MacBook7,1| "MacBook", "MacBook Mid 2010" |
| MacBook8,1| "MacBook", "MacBook Early 2015" |
| MacBook9,1| "MacBook", "MacBook Early 2016" |
| MacBookAir1,1| "MacBook Air", "MacBook Air Early 2008" |
| MacBookAir2,1| "MacBook Air", "MacBook Air Mid 2009" |
| MacBookAir3,1| "MacBook Air", "MacBook Air Late 2010" |
| MacBookAir3,2| "MacBook Air", "MacBook Air Late 2010" |
| MacBookAir4,1| "MacBook Air", "MacBook Air Mid 2011" |
| MacBookAir4,2| "MacBook Air", "MacBook Air Mid 2011" |
| MacBookAir5,1| "MacBook Air", "MacBook Air Mid 2012" |
| MacBookAir5,2| "MacBook Air", "MacBook Air Mid 2012" |
| MacBookAir6,1| "MacBook Air", "MacBook Air Mid 2013" |
| MacBookAir6,2| "MacBook Air", "MacBook Air Mid 2013" |
| MacBookAir7,1| "MacBook Air", "MacBook Air Early 2015" |
| MacBookAir7,2| "MacBook Air", "MacBook Air Early 2015" |
| MacBookPro1,1| "MacBook Pro", "MacBook Pro Early 2006" |
| MacBookPro1,2| "MacBook Pro", "MacBook Pro Early 2006" |
| MacBookPro2,1| "MacBook Pro", "MacBook Pro Late 2006" |
| MacBookPro2,2| "MacBook Pro", "MacBook Pro Late 2006" |
| MacBookPro3,1| "MacBook Pro", "MacBook Pro Mid 2007" |
| MacBookPro4,1| "MacBook Pro", "MacBook Pro Early 2008" |
| MacBookPro5,1| "MacBook Pro", "MacBook Pro Late 2008" |
| MacBookPro5,2| "MacBook Pro", "MacBook Pro Early 2009" |
| MacBookPro5,3| "MacBook Pro", "MacBook Pro Mid 2009" |
| MacBookPro5,4| "MacBook Pro", "MacBook Pro Mid 2009" |
| MacBookPro5,5| "MacBook Pro", "MacBook Pro Mid 2009" |
| MacBookPro6,1| "MacBook Pro", "MacBook Pro Mid 2010" |
| MacBookPro6,2| "MacBook Pro", "MacBook Pro Mid 2010" |
| MacBookPro7,1| "MacBook Pro", "MacBook Pro Mid 2010" |
| MacBookPro8,1| "MacBook Pro", "MacBook Pro Early 2011" |
| MacBookPro8,2| "MacBook Pro", "MacBook Pro Early 2011" |
| MacBookPro8,3| "MacBook Pro", "MacBook Pro Early 2011" |
| MacBookPro9,1| "MacBook Pro", "MacBook Pro Mid 2012" |
| MacBookPro9,2| "MacBook Pro", "MacBook Pro Mid 2012" |
| MacBookPro10,1| "MacBook Pro", "MacBook Pro Mid 2012" |
| MacBookPro10,2| "MacBook Pro", "MacBook Pro Late 2012" |
| MacBookPro11,1| "MacBook Pro", "MacBook Pro Late 2013" |
| MacBookPro11,2| "MacBook Pro", "MacBook Pro Late 2013" |
| MacBookPro11,3| "MacBook Pro", "MacBook Pro Late 2013" |
| MacBookPro11,4| "MacBook Pro", "MacBook Pro Mid 2015" |
| MacBookPro11,5| "MacBook Pro", "MacBook Pro Mid 2015" |
| MacBookPro12,1| "MacBook Pro", "MacBook Pro Early 2015" |
| Macmini1,1| "Mac Mini", "Mac Mini Early 2006" |
| Macmini2,1| "Mac Mini", "Mac Mini Mid 2007" |
| Macmini3,1| "Mac Mini", "Mac Mini Early 2009" |
| Macmini4,1| "Mac Mini", "Mac Mini Mid 2010" |
| Macmini5,1| "Mac Mini", "Mac Mini Mid 2011" |
| Macmini5,2| "Mac Mini", "Mac Mini Mid 2011" |
| Macmini5,3| "Mac Mini", "Mac Mini Mid 2011" |
| Macmini6,1| "Mac Mini", "Mac Mini Late 2012" |
| Macmini6,2| "Mac Mini", "Mac Mini Late 2012" |
| Macmini7,1| "Mac Mini", "Mac Mini Late 2014" |
| Macmini7,2| "Mac Mini", "Mac Mini Late 2014" |
| Macmini7,3| "Mac Mini", "Mac Mini Late 2014" |
| MacPro1,1| "Mac Pro", "Mac Pro Mid 2006" |
| MacPro2,1| "Mac Pro", "Mac Pro Mid 2006" |
| MacPro3,1| "Mac Pro", "Mac Pro Early 2008" |
| MacPro4,1| "Mac Pro", "Mac Pro Early 2009" |
| MacPro5,1| "Mac Pro", "Mac Pro Mid 2010" |
| MacPro6,1| "Mac Pro", "Mac Pro Late 2013" |
| PowerBook1,1| "PowerBook", "PowerBook G3 Mid 1999" |
| PowerBook2,1| "iBook", "iBook G3 Mid 1999" |
| PowerBook2,2| "iBook", "iBook G3 Late 2000" |
| PowerBook3,1| "PowerBook", "PowerBook G3 Early 2000" |
| PowerBook3,2| "PowerBook", "PowerBook G4 Early 2001" |
| PowerBook3,3| "PowerBook", "PowerBook G4 Late 2001" |
| PowerBook3,4| "PowerBook", "PowerBook G4 Early 2002" |
| PowerBook3,5| "PowerBook", "PowerBook G4 Late 2002" |
| PowerBook4,1| "iBook", "iBook G3 Late 2001" |
| PowerBook4,2| "iBook", "iBook G3 Early 2002" |
| PowerBook4,3| "iBook", "iBook G3 Mid 2002" |
| PowerBook5,1| "PowerBook", "PowerBook G4 Early 2003" |
| PowerBook5,2| "PowerBook", "PowerBook G4 Late 2003" |
| PowerBook5,3| "PowerBook", "PowerBook G4 Late 2003" |
| PowerBook5,4| "PowerBook", "PowerBook G4 Early 2004" |
| PowerBook5,5| "PowerBook", "PowerBook G4 Early 2004" |
| PowerBook5,6| "PowerBook", "PowerBook G4 Early 2005" |
| PowerBook5,7| "PowerBook", "PowerBook G4 Early 2005" |
| PowerBook5,8| "PowerBook", "PowerBook G4 Late 2005" |
| PowerBook5,9| "PowerBook", "PowerBook G4 Late 2005" |
| PowerBook6,1| "PowerBook", "PowerBook G4 Early 2003" |
| PowerBook6,2| "PowerBook", "PowerBook G4 Late 2003" |
| PowerBook6,3| "iBook", "iBook G4 Late 2003" |
| PowerBook6,4| "PowerBook", "PowerBook G4 Early 2004" |
| PowerBook6,5| "iBook", "iBook G4 Early 2004" |
| PowerBook6,7| "iBook", "iBook G4 Mid 2005" |
| PowerBook6,8| "PowerBook", "PowerBook G4 Early 2005" |
| PowerMac1,1| "Power Mac", "Power Mac G3 Early 1999" |
| PowerMac1,2| "Power Mac", "Power Mac G4 Late 1999" |
| PowerMac2,1| "iMac", "iMac G3 Early 2000" |
| PowerMac2,2| "iMac", "iMac G3 Summer 2000" |
| PowerMac3,1| "Power Mac", "Power Mac G4 Late 1999" |
| PowerMac3,3| "Power Mac", "Power Mac G4 Mid 2000" |
| PowerMac3,4| "Power Mac", "Power Mac G4 Early 2001" |
| PowerMac3,5| "Power Mac", "Power Mac G4 Mid 2001" |
| PowerMac3,6| "Power Mac", "Power Mac G4 Mid 2002" |
| PowerMac4,1| "iMac", "iMac G3 Early 2001" |
| PowerMac4,2| "iMac", "iMac G4 Early 2002" |
| PowerMac4,4| "eMac", "eMac G4 Mid 2002" |
| PowerMac4,5| "iMac", "iMac G4 Mid 2002" |
| PowerMac5,1| "Power Mac", "Power Mac G4 Cube Mid 2000" |
| PowerMac6,1| "iMac", "iMac G4 Early 2003" |
| PowerMac6,3| "iMac", "iMac G4 Late 2003" |
| PowerMac6,4| "eMac", "eMac G4 Early 2004" |
| PowerMac7,2| "Power Mac", "Power Mac G5 Mid 2003" |
| PowerMac7,3| "Power Mac", "Power Mac G5 Mid 2004" |
| PowerMac8,1| "iMac", "iMac G5 Mid 2004" |
| PowerMac8,2| "iMac", "iMac G5 Mid 2005" |
| PowerMac9,1| "Power Mac", "Power Mac G5 Late 2004" |
| PowerMac10,1| "Mac Mini", "Mac Mini Early 2005" |
| PowerMac10,2| "Mac Mini", "Mac Mini Late 2005" |
| PowerMac11,2| "Power Mac", "Power Mac G5 Late 2005" |
| PowerMac12,1| "iMac", "iMac G5 Late 2005" |
| RackMac1,1| "Xserve", "Xserve G4 Mid 2002" |
| RackMac1,2| "Xserve", "Xserve G4 Early 2003" |
| RackMac3,1| "Xserve", "Xserve G5 Early 2004" |
| Watch1,1| "Apple Watch", "Apple Watch" |
| Watch1,2| "Apple Watch", "Apple Watch" |
| Xserve1,1| "Xserve", "Xserve Xeon Late 2006" |
| Xserve2,1| "Xserve", "Xserve Xeon Early 2008" |
| Xserve3,1| "Xserve", "Xserve Xeon Early 2009" |
| J1AP| "iPad", "iPad (3rd gen)" |
| J2AP| "iPad", "iPad (3rd gen)" |
| J2AAP| "iPad", "iPad (3rd gen)" |
| J127AP| "iPad Pro", "iPad Pro" |
| J128AP| "iPad Pro", "iPad Pro" |
| J33AP| "Apple TV", "Apple TV (3rd gen)" |
| J33iAP| "Apple TV", "Apple TV (3rd gen rev A)" |
| J42dAP| "Apple TV", "Apple TV (4th gen)" |
| J71AP| "iPad", "iPad Air" |
| J72AP| "iPad", "iPad Air" |
| J73AP| "iPad", "iPad Air" |
| J81AP| "iPad", "iPad Air (2nd gen)" |
| J82AP| "iPad", "iPad Air (2nd gen)" |
| J85AP| "iPad mini", "iPad mini (2nd gen)" |
| J85mAP| "iPad mini", "iPad mini (3rd gen)" |
| J86AP| "iPad mini", "iPad mini (2nd gen)" |
| J86mAP| "iPad mini", "iPad mini (3rd gen)" |
| J87AP| "iPad mini", "iPad mini (2nd gen)" |
| J87mAP| "iPad mini", "iPad mini (3rd gen)" |
| J96AP| "iPad mini", "iPad mini (4th gen)" |
| J97AP| "iPad mini", "iPad mini (4th gen)" |
| J98aAP| "iPad Pro", "iPad Pro" |
| J99aAP| "iPad Pro", "iPad Pro" |
| K48AP| "iPad", "iPad (1st gen)" |
| K66AP| "Apple TV", "Apple TV (2nd gen)" |
| K93AAP| "iPad", "iPad (2nd gen)" |
| K93AP| "iPad", "iPad (2nd gen)" |
| K94AP| "iPad", "iPad (2nd gen)" |
| K95AP| "iPad", "iPad (2nd gen)" |
| M68AP| "iPhone", "iPhone 1" |
| N27aAP| "Apple Watch", "Apple Watch" |
| N28aAP| "Apple Watch", "Apple Watch" |
| N102AP| "iPod Touch", "iPod Touch (6th gen)" |
| N18AP| "iPod Touch", "iPod Touch (3rd gen)" |
| N41AP| "iPhone 5", "iPhone 5" |
| N42AP| "iPhone 5", "iPhone 5" |
| N45AP| "iPod Touch", "iPod Touch (1st gen)" |
| N48AP| "iPhone 5c", "iPhone 5c" |
| N49AP| "iPhone 5c", "iPhone 5c" |
| N51AP| "iPhone 5s", "iPhone 5s" |
| N53AP| "iPhone 5s", "iPhone 5s" |
| N56AP| "iPhone 6+", "iPhone 6+" |
| N61AP| "iPhone 6", "iPhone 6" |
| N66AP| "iPhone 6s+", "iPhone 6s+" |
| N66mAP| "iPhone 6s+", "iPhone 6s+" |
| N69AP| "iPhone SE", "iPhone SE" |
| N69uAP| "iPhone SE", "iPhone SE" |
| N71AP| "iPhone 6s", "iPhone 6s" |
| N71mAP| "iPhone 6s", "iPhone 6s" |
| N72AP| "iPod Touch", "iPod Touch (2nd gen)" |
| N78aAP| "iPod Touch", "iPod Touch (5th gen)" |
| N78AP| "iPod Touch", "iPod Touch (5th gen)" |
| N81AP| "iPod Touch", "iPod Touch (4th gen)" |
| N82AP| "iPhone 3G", "iPhone 3G" |
| N88AP| "iPhone 3GS", "iPhone 3GS" |
| N90AP| "iPhone 4", "iPhone 4" |
| N90BAP| "iPhone 4", "iPhone 4" |
| N92AP| "iPhone 4", "iPhone 4" |
| N94AP| "iPhone 4S", "iPhone 4S" |
| P101AP| "iPad", "iPad (4th gen)" |
| P102AP| "iPad", "iPad (4th gen)" |
| P103AP| "iPad", "iPad (4th gen)" |
| P105AP| "iPad mini", "iPad mini (1st gen)" |
| P106AP| "iPad mini", "iPad mini (1st gen)" |
| P107AP| "iPad mini", "iPad mini (1st gen)" |
| %% |