1 /* 2 * Copyright (c) 2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef IPP_USB_HTTP_CONST_VALUE_H 17 #define IPP_USB_HTTP_CONST_VALUE_H 18 19 namespace OHOS::Print { 20 const std::string LOCAL_HOST = "127.0.0.1"; 21 const std::string HTTP_CONTENT_LENGTH = "Content-Length"; 22 const std::string HTTP_TRANSFER_ENCODING = "Transfer-Encoding"; 23 const std::string HTTP_EXPECT = "Expect"; 24 const std::string HTTP_CHUNKED = "chunked"; 25 const std::string HTTP_POST = "POST /ipp/print HTTP/1.1\r\n"; 26 const std::string HTTP_MSG_STRING_R_AND_N = "\r\n"; 27 const std::string HTTP_MSG_STRING_CHUNK_END = "0\r\n\r\n"; 28 const std::string HTTP_OPERATION_GET_ATTR = "GetAttr"; 29 const std::string HTTP_OPERATION_SEND_DOC = "SendDoc"; 30 const std::string HTTP_OPERATION_COMMON = "Common"; 31 const std::string PRINTER_ID_PREFIX = "USB-"; 32 const std::string HTTP_100_CONTINUE = "HTTP/1.1 100"; 33 34 const int HTTP_REQUEST_GET_ATTR = 11; 35 const int HTTP_REQUEST_SEND_DOC = 6; 36 37 const int HTTP_RESPONSE_STATUS_100 = 100; 38 const int HTTP_RESPONSE_STATUS_101 = 101; 39 const int HTTP_RESPONSE_STATUS_102 = 102; 40 const int HTTP_RESPONSE_STATUS_103 = 103; 41 const int HTTP_RESPONSE_STATUS_200 = 200; 42 const int HTTP_RESPONSE_STATUS_201 = 201; 43 const int HTTP_RESPONSE_STATUS_202 = 202; 44 const int HTTP_RESPONSE_STATUS_203 = 203; 45 const int HTTP_RESPONSE_STATUS_204 = 204; 46 const int HTTP_RESPONSE_STATUS_205 = 205; 47 const int HTTP_RESPONSE_STATUS_206 = 206; 48 const int HTTP_RESPONSE_STATUS_207 = 207; 49 const int HTTP_RESPONSE_STATUS_208 = 208; 50 const int HTTP_RESPONSE_STATUS_226 = 226; 51 const int HTTP_RESPONSE_STATUS_300 = 300; 52 const int HTTP_RESPONSE_STATUS_301 = 301; 53 const int HTTP_RESPONSE_STATUS_302 = 302; 54 const int HTTP_RESPONSE_STATUS_303 = 303; 55 const int HTTP_RESPONSE_STATUS_304 = 304; 56 const int HTTP_RESPONSE_STATUS_305 = 305; 57 const int HTTP_RESPONSE_STATUS_306 = 306; 58 const int HTTP_RESPONSE_STATUS_307 = 307; 59 const int HTTP_RESPONSE_STATUS_308 = 308; 60 const int HTTP_RESPONSE_STATUS_400 = 400; 61 const int HTTP_RESPONSE_STATUS_401 = 401; 62 const int HTTP_RESPONSE_STATUS_402 = 402; 63 const int HTTP_RESPONSE_STATUS_403 = 403; 64 const int HTTP_RESPONSE_STATUS_404 = 404; 65 const int HTTP_RESPONSE_STATUS_405 = 405; 66 const int HTTP_RESPONSE_STATUS_406 = 406; 67 const int HTTP_RESPONSE_STATUS_407 = 407; 68 const int HTTP_RESPONSE_STATUS_408 = 408; 69 const int HTTP_RESPONSE_STATUS_409 = 409; 70 const int HTTP_RESPONSE_STATUS_410 = 410; 71 const int HTTP_RESPONSE_STATUS_411 = 411; 72 const int HTTP_RESPONSE_STATUS_412 = 412; 73 const int HTTP_RESPONSE_STATUS_413 = 413; 74 const int HTTP_RESPONSE_STATUS_414 = 414; 75 const int HTTP_RESPONSE_STATUS_415 = 415; 76 const int HTTP_RESPONSE_STATUS_416 = 416; 77 const int HTTP_RESPONSE_STATUS_417 = 417; 78 const int HTTP_RESPONSE_STATUS_418 = 418; 79 const int HTTP_RESPONSE_STATUS_421 = 421; 80 const int HTTP_RESPONSE_STATUS_422 = 422; 81 const int HTTP_RESPONSE_STATUS_423 = 423; 82 const int HTTP_RESPONSE_STATUS_424 = 424; 83 const int HTTP_RESPONSE_STATUS_425 = 425; 84 const int HTTP_RESPONSE_STATUS_426 = 426; 85 const int HTTP_RESPONSE_STATUS_428 = 428; 86 const int HTTP_RESPONSE_STATUS_429 = 429; 87 const int HTTP_RESPONSE_STATUS_431 = 431; 88 const int HTTP_RESPONSE_STATUS_451 = 451; 89 const int HTTP_RESPONSE_STATUS_501 = 501; 90 const int HTTP_RESPONSE_STATUS_502 = 502; 91 const int HTTP_RESPONSE_STATUS_503 = 503; 92 const int HTTP_RESPONSE_STATUS_504 = 504; 93 const int HTTP_RESPONSE_STATUS_505 = 505; 94 const int HTTP_RESPONSE_STATUS_506 = 506; 95 const int HTTP_RESPONSE_STATUS_507 = 507; 96 const int HTTP_RESPONSE_STATUS_508 = 508; 97 const int HTTP_RESPONSE_STATUS_510 = 510; 98 const int HTTP_RESPONSE_STATUS_511 = 511; 99 const int HTTP_RESPONSE_STATUS_500 = 500; 100 101 const int HTTP_COMMON_CONST_VALUE_0 = 0; 102 const int HTTP_COMMON_CONST_VALUE_1 = 1; 103 const int HTTP_COMMON_CONST_VALUE_2 = 2; 104 const int HTTP_COMMON_CONST_VALUE_3 = 3; 105 const int HTTP_COMMON_CONST_VALUE_4 = 4; 106 const int HTTP_COMMON_CONST_VALUE_5 = 5; 107 const int HTTP_COMMON_CONST_VALUE_6 = 6; 108 const int HTTP_COMMON_CONST_VALUE_8 = 8; 109 const int HTTP_COMMON_CONST_VALUE_9 = 9; 110 const int HTTP_COMMON_CONST_VALUE_10 = 10; 111 const int HTTP_COMMON_CONST_VALUE_11 = 11; 112 const int HTTP_COMMON_CONST_VALUE_12 = 12; 113 const int HTTP_COMMON_CONST_VALUE_14 = 14; 114 const int HTTP_COMMON_CONST_VALUE_15 = 15; 115 const int HTTP_COMMON_CONST_VALUE_16 = 16; 116 const int HTTP_COMMON_CONST_VALUE_18 = 18; 117 const int HTTP_COMMON_CONST_VALUE_25 = 25; 118 const int HTTP_COMMON_CONST_VALUE_31 = 31; 119 const int HTTP_COMMON_CONST_VALUE_33 = 33; 120 const int HTTP_COMMON_CONST_VALUE_47 = 47; 121 const int HTTP_COMMON_CONST_VALUE_50 = 50; 122 const int HTTP_COMMON_CONST_VALUE_100 = 100; 123 const int HTTP_COMMON_CONST_VALUE_300 = 300; 124 const int HTTP_COMMON_CONST_VALUE_500 = 500; 125 const int HTTP_COMMON_CONST_VALUE_1000 = 1000; 126 127 const int INDEX_0 = 0; 128 const int INDEX_1 = 1; 129 const int INDEX_2 = 2; 130 const int INDEX_3 = 3; 131 const int INDEX_4 = 4; 132 const int INDEX_5 = 5; 133 const int INDEX_6 = 6; 134 const int INDEX_7 = 7; 135 const int INDEX_8 = 8; 136 const int INDEX_9 = 9; 137 const int INDEX_10 = 10; 138 const int INDEX_11 = 11; 139 140 const size_t HTTP_SERVER_MAX_LENGTH = 1024 * 1024 * 512; 141 const int HTTP_MIN_PORT = 60000; 142 const int HTTP_MAX_PORT = 65535; 143 const int HTTP_SERVER_LISTEN_PORT = 60000; 144 const size_t USB_DATA_MAX_LENGTH = 1024 * 16; 145 const size_t USB_ENDPOINT_MAX_LENGTH = 512; 146 const int USB_INTERFACE_MIN_COUNT = 2; 147 const int INVAILD_VALUE = -1; 148 const int RESPONSE_RETRY_MAX_TIMES = 300; 149 const int READ_RETRY_MAX_TIMES = 200; 150 const int RESPONSE_RETRY_INTERVAL = 100; 151 const int USB_BULKTRANSFER_WRITE_TIMEOUT = 500; 152 const int USB_BULKTRANSFER_WRITE_SLEEP = 1000; 153 const int WRITE_RETRY_MAX_TIMES = 20; 154 const int CLAIM_INTERFACE_RETRY_MAX_TIMES = 5; 155 const int USB_BULKTRANSFER_READ_TIMEOUT = 500; 156 const int USB_READ_INTERVAL = 50; 157 const int USB_WRITE_INTERVAL = 50; 158 const int CPP_HTTP_OK = 1; 159 const int CPP_HTTP_FAIL = 0; 160 const int REQID_OPERAID_LEN = 8; 161 const int USB_CONTROLTRANSFER_READ_TIMEOUT = 2000; 162 163 const char HTTP_MSG_CHAR_1 = '1'; 164 const char HTTP_MSG_CHAR_2E = '.'; 165 const char HTTP_MSG_CHAR_A = 'A'; 166 const char HTTP_MSG_CHAR_0 = '0'; 167 const char HTTP_MSG_CHAR_A_S = 'a'; 168 const char HTTP_MSG_CHAR_F_S = 'f'; 169 const char HTTP_MSG_CHAR_F = 'F'; 170 const char HTTP_MSG_CHAR_R0 = '\0'; 171 const char HTTP_MSG_CHAR_20 = ' '; 172 const char HTTP_MSG_CHAR_2B = '+'; 173 const char HTTP_MSG_CHAR_0D = '\r'; 174 const char HTTP_MSG_CHAR_0A = '\n'; 175 const char HTTP_MSG_CHAR_27 = '\''; 176 const char HTTP_MSG_CHAR_2C = ','; 177 const char HTTP_MSG_CHAR_3B = ';'; 178 const char HTTP_MSG_CHAR_BAI_FEN = '%'; 179 const char SPLIT_VALUE_COLON = ':'; 180 181 const uint8_t HTTP_SPLIT_R_CODE = 13; // '\r' 182 const uint8_t HTTP_SPLIT_N_CODE = 10; // '\n' 183 const uint8_t CODE_SPLIT_VALUE_COLON = 58; // ':' 冒号分隔符 184 const uint8_t IPP_END_SPLIT_VALUE = 3; // ipp协议分割符号 185 const uint8_t HTTP_RESPONSE_H = 72; // 'H' 186 const uint8_t HTTP_RESPONSE_T = 84; // 'T' 187 const uint8_t HTTP_RESPONSE_P = 80; // 'P' 188 const uint8_t HTTP_RESPONSE_VERSION_SPLIT_GANG = 47; // '/' 189 const int32_t USB_DEVICE_CLASS_PRINT = 7; // class is 7 the device is printer 190 const int32_t USB_DEVICE_SUBCLASS_PRINT = 1; // subclass is 1 the device is printer 191 const int32_t USB_DEVICE_PROTOCOL_PRINT = 4; // can support ipp usb 192 const int32_t USB_DEVICE_INTERFACE_COUNT = 2; // can support ipp usb 193 const int32_t EORROR_HDF_DEV_ERR_IO_FAILURE = -1; 194 const int32_t EORROR_HDF_DEV_ERR_TIME_OUT = -7; 195 const int32_t EORROR_HDF_DEV_ERR_NO_DEVICE = -202; 196 const uint8_t USB_REQUESTTYPE_HOST_TO_DEVICE = 0X00; 197 const uint8_t USB_REQUESTTYPE_DEVICE_TO_HOST = 0X80; 198 const uint8_t USB_REQUEST_SET_CONFIGURATION = 0X09; 199 const uint8_t USB_REQUEST_GET_DESCRIPTOR = 0X06; 200 const uint16_t USB_VALUE_DESCRIPTOR_TYPE_STRING = 0X03; 201 const uint16_t USB_VALUE_DESCRIPTOR_INDEX_PRODUCT_NAME = 0X02; 202 const uint16_t USB_VALUE_DESCRIPTOR_INDEX_SERIAL_NUMBER = 0X03; 203 const uint16_t USB_INDEX_0 = 0X00; 204 const uint16_t USB_INDEX_LANGUAGE_ID_ENGLISH = 0X409; 205 } 206 #endif