Home | History | Annotate | Download | only in hf_client

Lines Matching refs:buffer

254 **   No buffer parsing is being done here.
582 /* check for <cr><lf> and forward buffer if match */
592 static char *bta_hf_client_parse_ok(char *buffer)
594 AT_CHECK_EVENT(buffer, "OK");
595 AT_CHECK_RN(buffer);
599 return buffer;
602 static char *bta_hf_client_parse_error(char *buffer)
604 AT_CHECK_EVENT(buffer, "ERROR");
605 AT_CHECK_RN(buffer);
609 return buffer;
612 static char *bta_hf_client_parse_ring(char *buffer)
614 AT_CHECK_EVENT(buffer, "RING");
615 AT_CHECK_RN(buffer);
619 return buffer;
623 static char *bta_hf_client_parse_uint32(char *buffer, void (*handler_callback)(UINT32))
629 res = sscanf(buffer, "%u%n", &value, &offset);
635 buffer += offset;
637 AT_CHECK_RN(buffer);
640 return buffer;
643 static char *bta_hf_client_parse_brsf(char *buffer)
645 AT_CHECK_EVENT(buffer, "+BRSF:");
647 return bta_hf_client_parse_uint32(buffer, bta_hf_client_handle_brsf);
650 static char *bta_hf_client_parse_cind_values(char *buffer)
659 while((res = sscanf(buffer, "%u%n", &value, &offset)) > 0)
664 buffer += offset;
667 if (*buffer != ',')
673 buffer++;
678 AT_CHECK_RN(buffer);
679 return buffer;
685 static char *bta_hf_client_parse_cind_list(char *buffer)
693 while ((res = sscanf(buffer, "(\"%128[^\"]\",(%u%*[-,]%u))%n", name, &min, &max, &offset)) > 2)
696 buffer += offset;
699 if (*buffer != ',')
704 buffer++;
709 AT_CHECK_RN(buffer);
710 return buffer;
716 static char *bta_hf_client_parse_cind(char *buffer)
718 AT_CHECK_EVENT(buffer, "+CIND:");
720 if(*buffer == '(')
721 return bta_hf_client_parse_cind_list(buffer);
723 return bta_hf_client_parse_cind_values(buffer);
726 static char *bta_hf_client_parse_chld(char *buffer)
728 AT_CHECK_EVENT(buffer, "+CHLD:");
730 if (*buffer != '(')
735 buffer++;
737 while(*buffer != '\0')
739 if(strncmp("0",buffer, 1) == 0)
742 buffer++;
744 else if(strncmp("1x",buffer, 2) == 0)
747 buffer += 2;
749 else if(strncmp("1",buffer, 1) == 0)
752 buffer++;
754 else if(strncmp("2x",buffer, 2) == 0)
757 buffer += 2;
759 else if(strncmp("2",buffer, 1) == 0)
762 buffer++;
764 else if(strncmp("3",buffer, 1) == 0)
767 buffer++;
769 else if(strncmp("4",buffer, 1) == 0)
772 buffer++;
779 if (*buffer == ',')
781 buffer++;
785 if (*buffer == ')')
787 buffer++;
794 AT_CHECK_RN(buffer);
796 return buffer;
799 static char *bta_hf_client_parse_ciev(char *buffer)
805 AT_CHECK_EVENT(buffer, "+CIEV:");
807 res = sscanf(buffer, "%u,%u%n", &index, &value, &offset);
813 buffer += offset;
815 AT_CHECK_RN(buffer);
818 return buffer;
821 static char *bta_hf_client_parse_bcs(char *buffer)
823 AT_CHECK_EVENT(buffer, "+BCS:");
825 return bta_hf_client_parse_uint32(buffer, bta_hf_client_handle_bcs);
828 static char *bta_hf_client_parse_bsir(char *buffer)
830 AT_CHECK_EVENT(buffer, "+BSIR:");
832 return bta_hf_client_parse_uint32(buffer, bta_hf_client_handle_bsir);
835 static char *bta_hf_client_parse_cmeerror(char *buffer)
837 AT_CHECK_EVENT(buffer, "+CME ERROR:");
839 return bta_hf_client_parse_uint32(buffer, bta_hf_client_handle_cmeerror);
842 static char *bta_hf_client_parse_vgm(char *buffer)
844 AT_CHECK_EVENT(buffer, "+VGM:");
846 return bta_hf_client_parse_uint32(buffer, bta_hf_client_handle_vgm);
849 static char *bta_hf_client_parse_vgme(char *buffer)
851 AT_CHECK_EVENT(buffer, "+VGM=");
853 return bta_hf_client_parse_uint32(buffer, bta_hf_client_handle_vgm);
856 static char *bta_hf_client_parse_vgs(char *buffer)
858 AT_CHECK_EVENT(buffer, "+VGS:");
860 return bta_hf_client_parse_uint32(buffer, bta_hf_client_handle_vgs);
863 static char *bta_hf_client_parse_vgse(char *buffer)
865 AT_CHECK_EVENT(buffer, "+VGS=");
867 return bta_hf_client_parse_uint32(buffer, bta_hf_client_handle_vgs);
870 static char *bta_hf_client_parse_bvra(char *buffer)
872 AT_CHECK_EVENT(buffer, "+BVRA:");
874 return bta_hf_client_parse_uint32(buffer, bta_hf_client_handle_bvra);
877 static char *bta_hf_client_parse_clip(char *buffer)
885 AT_CHECK_EVENT(buffer, "+CLIP:");
888 res = sscanf(buffer, "\"%32[^\"]\",%u%n", number, &type, &offset);
894 buffer += offset;
896 AT_SKIP_REST(buffer);
898 AT_CHECK_RN(buffer);
901 return buffer;
905 static char *bta_hf_client_parse_ccwa(char *buffer)
913 AT_CHECK_EVENT(buffer, "+CCWA:");
916 res = sscanf(buffer, "\"%32[^\"]\",%u%n", number, &type, &offset);
922 buffer += offset;
924 AT_SKIP_REST(buffer);
926 AT_CHECK_RN(buffer);
929 return buffer;
932 static char *bta_hf_client_parse_cops(char *buffer)
940 AT_CHECK_EVENT(buffer, "+COPS:");
943 res = sscanf(buffer, "%hhi,0,\"%16[^\"]\"%n", &mode, opstr, &offset);
949 buffer += offset;
951 AT_SKIP_REST(buffer);
953 AT_CHECK_RN(buffer);
956 return buffer;
959 static char *bta_hf_client_parse_binp(char *buffer)
967 AT_CHECK_EVENT(buffer, "+BINP:");
969 res = sscanf(buffer, "\"%32[^\"]\"\r\n%n", numstr, &offset);
975 buffer += offset;
978 AT_SKIP_REST(buffer);
980 AT_CHECK_RN(buffer);
983 return buffer;
986 static char *bta_hf_client_parse_clcc(char *buffer)
994 AT_CHECK_EVENT(buffer, "+CLCC:");
996 res = sscanf(buffer, "%hu,%hu,%hu,%hu,%hu%n",
1003 buffer += offset;
1006 if (*buffer == ',')
1010 res2 = sscanf(buffer, ",\"%32[^\"]\",%hu%n", numstr, &type, &offset);
1018 res2 = sscanf(buffer, ",\"\",%hu%n", &type, &offset);
1035 buffer += offset;
1038 AT_CHECK_RN(buffer);
1051 return buffer;
1054 static char *bta_hf_client_parse_cnum(char *buffer)
1062 AT_CHECK_EVENT(buffer, "+CNUM:");
1064 res = sscanf(buffer, ",\"%32[^\"]\",%hu,,%hu%n", numstr, &type, &service, &offset);
1072 res = sscanf(buffer, ",\"\",%hu,,%hu%n", &type, &service, &offset);
1088 buffer += offset;
1090 AT_CHECK_RN(buffer);
1096 return buffer;
1105 return buffer;
1108 static char *bta_hf_client_parse_btrh(char *buffer)
1114 AT_CHECK_EVENT(buffer, "+BTRH:");
1116 res = sscanf(buffer, "%hu%n", &code, &offset);
1122 buffer += offset;
1124 AT_CHECK_RN(buffer);
1127 return buffer;
1130 static char *bta_hf_client_parse_busy(char *buffer)
1132 AT_CHECK_EVENT(buffer, "BUSY");
1133 AT_CHECK_RN(buffer);
1137 return buffer;
1140 static char *bta_hf_client_parse_delayed(char *buffer)
1142 AT_CHECK_EVENT(buffer, "DELAYED");
1143 AT_CHECK_RN(buffer);
1147 return buffer;
1150 static char *bta_hf_client_parse_no_carrier(char *buffer)
1152 AT_CHECK_EVENT(buffer, "NO CARRIER");
1153 AT_CHECK_RN(buffer);
1157 return buffer;
1160 static char *bta_hf_client_parse_no_answer(char *buffer)
1162 AT_CHECK_EVENT(buffer, "NO ANSWER");
1163 AT_CHECK_RN(buffer);
1167 return buffer;
1170 static char *bta_hf_client_parse_blacklisted(char *buffer)
1172 AT_CHECK_EVENT(buffer, "BLACKLISTED");
1173 AT_CHECK_RN(buffer);
1177 return buffer;
1180 static char *bta_hf_client_skip_unknown(char *buffer)
1185 tmp = strstr(buffer, "\r\n");
1191 buffer += 2;
1192 start = buffer;
1194 tmp = strstr(buffer, "\r\n");
1200 buffer = tmp + 2;
1202 APPL_TRACE_DEBUG("%s %.*s", __FUNCTION__, buffer - start - 2, start);
1204 return buffer;
1379 /* fill up parser buffer */
1389 APPL_TRACE_ERROR("HFPClient: AT parser buffer overrun, disconnecting");
1399 /* cut buffer to complete AT event and keep cut data */