Lines Matching defs:pszRaw

52 static int netPfStrAddressParse(char *pszRaw, int cbRaw,
59 AssertPtrReturn(pszRaw, -1);
61 AssertReturn(pszRaw[0] == PF_ADDRESS_FIELD_STARTS, -1);
63 if (pszRaw[0] == PF_ADDRESS_FIELD_STARTS)
65 /* shift pszRaw to next symbol */
66 pszRaw++;
73 char *pszEndOfAddress = RTStrStr(pszRaw, PF_STR_ADDRESS_FIELD_ENDS);
78 cbField = pszEndOfAddress - pszRaw;
84 RTStrCopy(pszAddress, RT_MIN(cbField + 1, cbAddress), pszRaw);
89 AssertReturn(pszRaw[cbField] == PF_ADDRESS_FIELD_ENDS, -1);
95 static int netPfStrPortParse(char *pszRaw, int cbRaw, uint16_t *pu16Port)
99 int idxRaw = 1; /* we increment pszRaw after checks. */
103 AssertPtrReturn(pszRaw, -1);
105 AssertReturn(pszRaw[0] == PF_FIELD_SEPARATOR, -1);
107 pszRaw++; /* skip line separator */
110 pszEndOfPort = RTStrStr(pszRaw, ":");
113 cbRest = strlen(pszRaw);
122 pszEndOfPort = pszRaw + cbRest;
129 cbPort = pszEndOfPort - pszRaw;
134 Assert(cbRest || pszRaw[idxRaw - 1] == PF_FIELD_SEPARATOR); /* we are 1 char ahead */
140 RTStrCopy(szPort, RT_MIN(sizeof(szPort), (size_t)(cbPort) + 1), pszRaw);
151 static int netPfStrAddressPortPairParse(char *pszRaw, int cbRaw,
159 AssertPtrReturn(pszRaw, -1);
164 Assert( pszRaw[0] == PF_FIELD_SEPARATOR
165 && pszRaw[1] == PF_ADDRESS_FIELD_STARTS);
167 pszRaw++; /* field separator skip */
173 if (pszRaw[0] == PF_ADDRESS_FIELD_STARTS)
175 idxRaw += netPfStrAddressParse(pszRaw,
183 Assert(pszRaw[idxRaw] == PF_FIELD_SEPARATOR);
187 pszRaw += idxRaw;
195 Assert(pszRaw[0] == PF_FIELD_SEPARATOR);
197 if (pszRaw[0] == PF_FIELD_SEPARATOR)
199 idxRaw = netPfStrPortParse(pszRaw, strlen(pszRaw), pu16Port);
201 Assert(strlen(&pszRaw[idxRaw]) == 0 || pszRaw[idxRaw] == PF_FIELD_SEPARATOR);
227 char *pszRaw = NULL;
247 pszRaw = RTStrDup(pcszStrPortForward);
248 AssertReturn(pszRaw, VERR_NO_MEMORY);
250 pszRawBegin = pszRaw;
253 if (pszRaw[idxRaw] == PF_FIELD_SEPARATOR)
257 char *pszEndOfName = RTStrStr(pszRaw + 1, PF_STR_FIELD_SEPARATOR);
261 cbToken = (pszEndOfName) - pszRaw; /* don't take : into account */
271 pszRaw);
272 pszRaw += cbToken; /* move to separator */
275 AssertReturn(pszRaw[0] == PF_FIELD_SEPARATOR, VERR_INVALID_PARAMETER);
278 pszRaw++; /* skip separator */
283 if ( ( (fTcpProto = (RTStrNICmp(pszRaw, "tcp", 3) == 0))
284 || RTStrNICmp(pszRaw, "udp", 3) == 0)
285 && pszRaw[3] == PF_FIELD_SEPARATOR)
293 pszRaw += idxRaw;
297 idxRaw = netPfStrAddressPortPairParse(pszRaw, cbRaw,
303 pszRaw += idxRaw;
306 Assert(pszRaw[0] == PF_FIELD_SEPARATOR);
310 idxRaw = netPfStrAddressPortPairParse(pszRaw, cbRaw,